@charset "UTF-8";

/* ==========================================================================
    main style
============================================================================= */
.body {
  -webkit-animation: fade-in 1.5s 1 forwards;
          animation: fade-in 1.5s 1 forwards;
  position: fixed;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  opacity: 0;
  height: 100%;
  width: 100%;
}
.body > * {
  -ms-flex-preferred-size: calc(50% - 195px);
      flex-basis: calc(50% - 195px);
}
.body__nav,
.body__text {
  -webkit-transition: all 1s;
  transition: all 1s;
}
.body__nav {
  text-align: center;
}
.body .l-header__logo {
  position: absolute;
  left: 2.77vw;
  top: 4.44vh;
}
.body .l-header__logo img {
  max-height: 52px;
  height: 5.77vh;
  -o-object-fit: cover;
     object-fit: cover;
}
.body .l-header__menu {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 2.08vw;
  text-align: left;
}
.body .l-header__menu a {
  font-size: clamp(1.4rem, 1.25vw, 1.8rem);
  position: relative;
}
.body .l-header__menu a::after {
  background-color: #25435a;
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 1px;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transition: -webkit-transform 1s;
  transition: -webkit-transform 1s;
  transition: transform 1s;
  transition: transform 1s, -webkit-transform 1s;
}
.body .l-header__menu a.is-active::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.body__text .p-closing {
  background: inherit;
  margin-top: 0;
  margin-inline: auto;
  padding: 0;
}
.body__text .p-closing .txt {
  font-size: clamp(1.4rem, 1.25vw, 1.8rem);
}
.body__text .p-closing em {
  font-size: 1.66vw;
  margin: 22px 0;
}
.body__text .p-contact {
  display: block;
  margin-top: 5.55vh;
  position: relative;
}
.body__text .p-contact__list {
  background-color: inherit;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.body__text .p-contact__list > li {
  margin-top: 10px;
  margin-inline: auto;
  text-align: center;
  width: 200px;
}
.body__text .p-contact__list > li:first-child {
  border-right: 0;
}
.body__text .p-contact__list > li a .contact-ttl {
  line-height: 1.2;
}
.body__text .p-contact__txt {
  background-color: inherit;
  font-size: 1.4rem;
}
@media screen and (min-width: 902px) {
  .body__text .p-contact__list > li {
    width: 240px;
  }
  .body__text .p-contact__txt br {
    display: none;
  }
}
@media screen and (min-width: 392px) {
  .body {
    background: url("../images/bg_pc_body.webp") no-repeat bottom 0 center/cover;
    background-attachment: fixed;
  }
}
@media screen and (max-width: 767.98px) {
  .body__nav,
  .body__text {
    display: none;
  }
}
#document {
  max-width: 390px;
  margin-inline: auto;
  position: relative;
  padding-top: 70px;
}
@media screen and (min-width: 768px) {
  #document {
    padding-top: 0;
  }
  #document .l-header {
    display: none;
  }
}
.l-main {
  font-family: 'M PLUS 1', sans-serif;
  color: #363636;
}
.l-main img {
  height: auto;
}
.l-main__cont {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-inline: auto;
}
@media screen and (min-width: 392px) {
  .l-main__cont {
    width: auto;
  }
}
.p-contact {
  bottom: 0;
  left: 0;
  position: fixed;
  width: 100%;
  z-index: 100;
}
.p-contact__txt {
  background-color: #fff;
  color: #25435a;
  font-size: 1.4rem;
  font-family: "Kiwi Maru", serif;
  padding: 9px;
  text-align: center;
}
.p-contact__list {
  background-color: #4d9ede;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-contact__list > li {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
}
.p-contact__list > li:first-child {
  border-right: solid 1px #fff;
}
.p-contact__list > li a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  padding: 8px 3.846vw 8px 3vw;
}
.p-contact__list > li a .fa-solid {
  font-size: 2.2rem;
}
.p-contact__list > li a .contact-ttl {
  color: #faf57b;
  font-family: "Kiwi Maru", serif;
  font-size: 1.8rem;
}
.p-contact__list > li a .contact-sub {
  color: #fff;
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.5;
}
.l-main .p-contact .p-contact__list-form a {
  background: #ffb121;
}
.l-main .p-contact .p-contact__list-form a .contact-ttl {
  color: #fff;
}
@media screen and (min-width: 768px) {
  .p-contact {
    display: none;
  }
}
@media screen and (min-width: 392px) {
  .p-contact {
    max-width: 390px;
    margin-inline: auto;
    right: 0;
  }
  .p-contact__list > li a {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 8px 0;
  }
}
@media screen and (max-width: 391.98px) {
  .p-contact {
    -webkit-box-shadow: 0 4px 4px rgba(0,0,0,0.25);
            box-shadow: 0 4px 4px rgba(0,0,0,0.25);
  }
}
.p-closing {
  background: url("../images/closing_bg.webp") no-repeat 0 0/cover;
  font-family: "Kiwi Maru", serif;
  padding: 230px 0 100px;
  margin-top: -34.1vw;
}
.p-closing .txt {
  color: #25435a;
  font-size: 1.8rem;
  line-height: 2.11;
}
.p-closing em {
  color: #4d9ede;
  display: inline-block;
  font-size: 2.4rem;
  line-height: 1.583;
  margin: 44px 0;
}
@media screen and (min-width: 680px) {
  .p-closing {
    background-size: 100% auto;
    margin-top: -200px;
  }
}
@-webkit-keyframes graph01-3 {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes graph01-3 {
  to {
    stroke-dashoffset: 0;
  }
}
@-webkit-keyframes graph01-2 {
  to {
    stroke-dashoffset: 10;
  }
}
@keyframes graph01-2 {
  to {
    stroke-dashoffset: 10;
  }
}
@-webkit-keyframes graph01-1 {
  to {
    stroke-dashoffset: 61;
  }
}
@keyframes graph01-1 {
  to {
    stroke-dashoffset: 61;
  }
}
@-webkit-keyframes graph02-2 {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes graph02-2 {
  to {
    stroke-dashoffset: 0;
  }
}
@-webkit-keyframes graph02-1 {
  to {
    stroke-dashoffset: 9;
  }
}
@keyframes graph02-1 {
  to {
    stroke-dashoffset: 9;
  }
}
@-webkit-keyframes graph03-2 {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes graph03-2 {
  to {
    stroke-dashoffset: 0;
  }
}
@-webkit-keyframes graph03-1 {
  to {
    stroke-dashoffset: 8;
  }
}
@keyframes graph03-1 {
  to {
    stroke-dashoffset: 8;
  }
}
@-webkit-keyframes graph04-2 {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes graph04-2 {
  to {
    stroke-dashoffset: 0;
  }
}
@-webkit-keyframes graph04-1 {
  to {
    stroke-dashoffset: 6;
  }
}
@keyframes graph04-1 {
  to {
    stroke-dashoffset: 6;
  }
}
@-webkit-keyframes balloonImg01 {
  0% {
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  100% {
    left: 28px;
    top: 0;
    -webkit-transform: inherit;
            transform: inherit;
  }
}
@keyframes balloonImg01 {
  0% {
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  100% {
    left: 28px;
    top: 0;
    -webkit-transform: inherit;
            transform: inherit;
  }
}
@-webkit-keyframes balloonImg02 {
  0% {
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  100% {
    left: inherit;
    right: 18px;
    top: 0;
    -webkit-transform: inherit;
            transform: inherit;
  }
}
@keyframes balloonImg02 {
  0% {
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  100% {
    left: inherit;
    right: 18px;
    top: 0;
    -webkit-transform: inherit;
            transform: inherit;
  }
}
@-webkit-keyframes balloonImg03 {
  0% {
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  100% {
    left: inherit;
    right: 0;
    top: 150px;
    -webkit-transform: inherit;
            transform: inherit;
  }
}
@keyframes balloonImg03 {
  0% {
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  100% {
    left: inherit;
    right: 0;
    top: 150px;
    -webkit-transform: inherit;
            transform: inherit;
  }
}
@-webkit-keyframes balloonImg04 {
  0% {
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  100% {
    left: 9px;
    top: 160px;
    -webkit-transform: inherit;
            transform: inherit;
  }
}
@keyframes balloonImg04 {
  0% {
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  100% {
    left: 9px;
    top: 160px;
    -webkit-transform: inherit;
            transform: inherit;
  }
}
@-webkit-keyframes balloonImg05 {
  0% {
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  100% {
    left: inherit;
    top: inherit;
    right: 0;
    bottom: 27px;
    -webkit-transform: inherit;
            transform: inherit;
  }
}
@keyframes balloonImg05 {
  0% {
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  100% {
    left: inherit;
    top: inherit;
    right: 0;
    bottom: 27px;
    -webkit-transform: inherit;
            transform: inherit;
  }
}
@-webkit-keyframes balloonImg06 {
  0% {
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  100% {
    left: 0;
    top: inherit;
    bottom: 0;
    -webkit-transform: inherit;
            transform: inherit;
  }
}
@keyframes balloonImg06 {
  0% {
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  100% {
    left: 0;
    top: inherit;
    bottom: 0;
    -webkit-transform: inherit;
            transform: inherit;
  }
}

.cta {
  padding: 0 30px;
}

.cta--02 {
  margin-top: 20px;
}

.cta--03 {
  margin-top: 40px;
}

.cta__btn {
  font-family: "Kiwi Maru", serif;
  display: block;
  border-radius: 100px;
  background: linear-gradient(90deg, #ffbf4a, orange);
  color: #fff;
  text-align: center;
  padding: 8px;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  border: solid 2px #fff;
  position: relative;
}

.cta__btn::after {
  content: '';
  position: absolute;
  top: -23px;
  right: -20px;
  background: url('../images/fukidashi.png') center / contain no-repeat;
  width: 75px;
  height: 55px;
}

.cta__btn-txt1 {
  font-size: 20px;
  margin-bottom: 6px;
}

.cta__btn-txt2 {
  font-size: 13px;
}

.mv {
  background: url('../images/mv_bg.png') top center / 100% auto no-repeat, linear-gradient(#CAE6FC, #3A8AC7);
  padding: 20px 0 30px;
}

.mv__eyecatch {
  position: relative;
}

.mv__pic {
  padding: 0 20px 48px;
}

.mv__ttl {
  position: absolute;
  bottom: 21px;
  left: 0;
  right: 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: 600;
}

.mv__ttl1 {
  background: #fff;
  margin-bottom: 8px;
  line-height: 1;
  font-size: 22.5px;
  border-radius: 2.5px;
  padding: 11px 8px;
  box-shadow: 0 1px 5px rgba(113, 113, 113, .16);
}

.mv__ttl2 {
  background: #fff;
  line-height: 1;
  font-size: 36px;
  color: #3A8AC7;
  border-radius: 2.5px;
  padding: 6px 10px;
  box-shadow: 0 1px 5px rgba(113, 113, 113, .16);
}

.mv__body {
  padding: 0 20px;
  color: #fff;
}

.mv__txt {
  text-align: center;
  margin: 0 -10px 29px;
  font-weight: 600;
  padding-top: 5px;
}

.mv__txt1 {
  font-size: 20px;
  margin-bottom: 11px;
}

.mv__txt2 {
  font-size: 18px;
}

.mv__txt2 span {
  font-size: 30px;
}

.mv-points {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  margin-bottom: 11px;
}

.mv__note {
  font-size: 12.5px;
  color: #E3F1FF;
  margin-bottom: 20px;
}

/**
 * CTA
 */
.c-cta__balloon {
  background: #FAED4F;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  text-align: center;
  border-radius: 100px;
  color: #25435a;
  font-weight: 500;
  font-size: 16px;
  width: 315px;
  padding: 8px 0 8px 12px;
  box-sizing: border-box;
}

.c-cta__balloon::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 18px;
  height: 12px;
  background: #FAED4F;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.c-cta__btn {
  display: flex;
  gap: 3px;
  align-items: center;
  background: url(../images/cta_arrow.png) center right 12px / 19px 20px no-repeat #F09606;
  border: solid 3px #fff;
  border-radius: 100px;
  padding: 6px;
  margin-top: -8px;
}

.c-cta__fee {
  flex: 0 0 62px;
  width: 62px;
  aspect-ratio: 1;
  background: #fff;
  color: #F09606;
  border-radius: 50%;
  align-content: center;
  text-align: center;
  font-size: 22px;
  font-weight: 500;
}

.c-cta__ttl {
  color: #fff;
  font-size: 18.3px;
  font-weight: 500;
}

/**
 * worry
 */
.worry {
  background: #fff;
  position: relative;
}

.worry::after {
  content: '';
  position: absolute;
  width: 130px;
  height: 200px;
  right: 5px;
  bottom: 0;
  background: url('../images/worry_chara2.png') center / contain no-repeat;
}

.worry__top {
  background: #EAEAEA;
  clip-path: polygon(0 0, 100% 0, 100% calc( 100% - 60px ), 50% 100%, 0 calc( 100% - 60px ));
  padding: 28px 20px 60px;
  position: relative;
}

.worry__top::after {
  content: '';
  position: absolute;
  right: 4px;
  bottom: 19px;
  width: 143px;
  height: 120px;
  background: url('../images/worry_chara.png') center / contain no-repeat;
}

.worry__ttl1 {
  text-align: center;
  margin: 0 -20px 23px;
}

.worry__ttl1-1 {
  font-size: 17px;
  font-weight: 450;
  margin-bottom: 15px;
}

.worry__ttl1-2 {
  font-size: 26px;
  font-weight: 600;
}

.worry__ttl1-2 span {
  position: relative;
  font-size: 32px;
  color: #3A8AC7;
}

.worry__ttl1-2 span::before {
  content: '';
  width: 5px;
  height: 5px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background: #3A8AC7;
  border-radius: 50%;
}

.worry__binder {
  background: #4B4B4B;
  padding: 16px 12px;
  border-radius: 15px;
  position: relative;
}

.worry__binder::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 83px;
  height: 25px;
  background: url('../images/worry_binder.png') center / contain no-repeat;
}

.worry__binder-inner {
  background: #fff;
  border-radius: 10px;
  padding: 20px 8px 30px;
}

.worry__worry-item {
  line-height: 1.3125;
  padding-left: 21px;
  position: relative;
  font-weight: 450;
  font-size: 16px;
}

.worry__worry-item::before {
  content: '';
  position: absolute;
  top: 4px;
  left: 0;
  width: 16px;
  height: 15px;
  background: url('../images/worry_check.png') center / contain no-repeat;
}

.worry__worry-item + .worry__worry-item {
  margin-top: 11px;
}

.worry__bottom {
  margin-top: -35px;
  padding: 0 20px 45px;
  background: url('../images/worry_bg1.png') top -10px left -10px / 132px no-repeat,
              url('../images/worry_bg2.png') right -35px bottom -75px / 209px no-repeat;
}

.worry__ttl2 {
  position: relative;
  text-align: center;
  margin: 0 -20px 24px;
  font-weight: 600;
}

.worry__ttl2-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  -webkit-text-stroke: 5px #fff;
}

.worry__ttl2-fg {
  position: relative;
}

.worry__ttl2-1 {
  font-size: 19px;
  margin-bottom: 18px;
}

.worry__ttl2-1 span {
  font-size: 32px;
}

.worry__ttl2-2 {
  font-size: 19px;
  margin-bottom: 18px;
}

.worry__ttl2-2 span {
  font-size: 32px;
  color: #E57799;
  margin: 0 -11px;
}

.worry__ttl2-3 {
  font-size: 32px;
}

.worry-oklist {
  background: #FFEDF3;
  padding: 22px 20px;
  counter-reset: oklistcount;
  border-radius: 5px;
  margin-bottom: 20px;
}

.worry-oklist__item {
  display: flex;
  gap: 7px;
  align-items: center;
  font-size: 18px;
  font-weight: 500;
}

.worry-oklist__item::before {
  counter-increment: oklistcount;
  content: counter(oklistcount);
  flex: 0 0 29px;
  aspect-ratio: 1;
  align-content: center;
  text-align: center;
  font-size: 17px;
  font-weight: 450;
  background: #E57799;
  color: #fff;
  border-radius: 50% 50% 0 50%;
}

.worry-oklist__item + .worry-oklist__item {
  margin-top: 14px;
}

.worry__txt1 {
  color: #E57799;
  font-size: 20px;
  font-weight: 600;
  text-decoration: underline;
  line-height: 1.775;
  text-underline-offset: 5px;
}


/**
 * feature
 */

.feature {
  padding: 40px 0 50px;
  background: #fff;
  background: linear-gradient(160deg, #61A2D5, #E3F4FF 360px, transparent 620px),
              linear-gradient(340deg, #61A2D5, #E3F4FF 190px, transparent 620px),
              #fff
}

.feature__inner {
  padding: 0 20px;
}

.feature__ttl {
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  color: #fff;
  line-height: 1.3333;
  position: relative;
  padding-bottom: 11px;
  margin-bottom: 32.5px;
}

.feature__ttl::after {
  content: '';
  position: absolute;
  width: 36px;
  height: 2.5px;
  border-radius: 100px;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
}

.feature__list {
  margin-bottom: 28px;
}

.feature-item {
  position: relative;
}

.feature-item + .feature-item {
  margin-top: 50px;
}

.feature-item__no {
  position: absolute;
  top: -16px;
  left: -10px;
  width: 66px;
  height: 66px;
  align-content: center;
  text-align: center;
  background: black;
  border-radius: 50% 50% 0 50%;
  color: #fff;
  font-size: 19px;
  font-weight: 600;
  background: linear-gradient(to right bottom, #e37194, #F4BDC7);
  box-shadow: 0 1.5px 3px rgba(54, 54, 54, .1);
}

.feature-item__no span {
  font-size: 23px;
  vertical-align: -1px;
}

.feature-item__pic {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 1.5px 5px rgba(36, 36, 36, .3);
}

.feature-item__ttl {
  max-width: 295px;
  margin: 0 auto;
  background: #3A8AC7;
  color: #fff;
  text-align: center;
  font-size: 19px;
  font-weight: 600;
  border-radius: 100px;
  line-height: 1.368;
  padding: 8px 0;
  z-index: 1;
  position: relative;
  margin-bottom: 11px;
}

.feature-item__ttl.feature-item__ttl--1 {
  margin-top: -20px;
}

.feature-item__ttl.feature-item__ttl--2 {
  margin-top: -34px;
}

.feature-item__desc {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6875;
  margin: 0 -2px;
}


/**
 * reason
 */

.reason {
  background: #FFEDF3;
  padding: 50px 0;
}

.reason__inner {
  padding: 0 20px;
}

.reason__ttl {
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.333;
  margin: 0 -20px;
  position: relative;
  padding-bottom: 11px;
  margin-bottom: 27px;
}

.reason__ttl::after {
  content: '';
  position: absolute;
  width: 36px;
  height: 2.5px;
  border-radius: 100px;
  background: #363636;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.reason__list {
  background: #fff;
  border-radius: 20px;
  padding: 27px 20px;
  counter-reset: reasoncount;
}

.reason-item {
  position: relative;
  counter-increment: resoncount;
}

.reason-item + .reason-item {
  margin-top: 42px;
}

.reason-item::before {
  content: '0' counter(resoncount);
  position: absolute;
  top: -15px;
  left: -15px;
  width: 65px;
  height: 65px;
  align-content: center;
  text-align: center;
  font-size: 28.5px;
  font-weight: 600;
  font-family: 'BIZ UDPGothic', sans-serif;
  background: #E57799;
  border-radius: 50% 50% 0 50%;
  color: #fff;
}

.reason-item__pic {
  border-radius: 12px;
  overflow: hidden;
  border: solid 6px #E57799;
  padding: 2px;
  margin-bottom: 13px;
}

.reason-item__pic img {
  border-radius: 5px;
}

.reason-item__ttl {
  text-align: center;
  margin-bottom: 12px;
}

.reason-item__ttl-inner {
  display: inline-block;
  font-size: 19px;
  font-weight: 500;
  background: url('../images/reason_dot.png') center bottom / 8px 3px repeat-x;
  padding-bottom: 15px;
}

.reason-item__desc {
  font-size: 16px;
  font-size: 450;
  line-height: 1.6875;
}

/**
 * support
 */

.support {
  padding: 40px 0;
  background: #fff;
}

.support__inner {
  padding: 0 20px;
}

.support__ttl {
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.333;
  margin: 0 -20px;
  position: relative;
  padding-bottom: 11px;
  margin-bottom: 21px;
}

.support__ttl::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 36px;
  height: 2px;
  border-radius: 100px;
  background: #F09606;
}

.support__pic {
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 26px;
}

.support__desc {
  font-size: 16px;
  line-height: 1.625;
  font-weight: 500;
  margin-bottom: 25px;
  position: relative;
}

.support__desc::after {
  content: '';
  position: absolute;
  right: -15px;
  bottom: -27px;
  width: 125px;
  height: 210px;
  background: url('../images/support_chara.png') center / contain no-repeat;
}

.support__y {
  position: relative;
  background: linear-gradient(to bottom, transparent 8%, #FFFAB5 8%, #FFFAB5 95%, transparent 95%);
  padding: 0 5px;
  margin-left: -5px;
}

.support__b {
  font-size: 23px;
}

.support-rework {
  border: solid 5px #FAED50;
  border-radius: 16px;
  position: relative;
  background: #fff;
  padding-bottom: 30px;
}

.support-rework__ttl {
  max-width: 210px;
  border-radius: 100px;
  background: #FAED50;
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  margin: -25px auto 18.5px;
  padding: 8px 0;
  position: relative;
}

.support-rework__ttl::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 12px;
  height: 8px;
  background: #FAED50;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.support-rework__list {
  padding: 0 15px;
  margin-bottom: 15px;
}

.support-rework-item {
  display: flex;
  gap: 8px;
  align-items: center;
  background: #F09606;
  border-radius: 100px;
  color: #fff;
  padding: 3px;
}

.support-rework-item + .support-rework-item {
  margin-top: 25px;
  position: relative;
}

.support-rework-item + .support-rework-item::before {
  content: '';
  position: absolute;
  top: -16px;
  left: 50%;
  transform: translateX(-50%);
  width: 16px;
  height: 9px;
  background: url('../images/support-rework-arrow.png') center / contain no-repeat;
}

.support-rework-item__step {
  flex: 0 0 54px;
  height: 54px;
  align-content: center;
  text-align: center;
  background: #fff;
  color: #F09606;
  border-radius: 50%;
  font-family: 'BIZ UDPGothic', sans-serif;
}

.support-rework-item__step-txt {
  font-size: 11px;
  letter-spacing: .02em;
  margin-bottom: 2px;
}

.support-rework-item__step-num {
  font-size: 21px;
}

.support-rework-item__ttl {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
}

.support-rework__desc {
  text-align: center;
  font-size: 14px;
  font-weight: 450;
  margin-right: -10px;
  line-height: 1.57;
}

.support-rework__desc span {
  font-weight: 600;
  color: #F09606;
}


/**
 * voice
 */

.voice {
  overflow: hidden;
  background: #3A8AC7;
  color: #fff;
  padding: 56px 0 40px;
}

.voice__ttl {
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  position: relative;
  padding-bottom: 15px;
  margin-bottom: 27px;
}

.voice__ttl::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 36px;
  height: 2px;
  background: #FAED50;
  border-radius: 100px;
}

.voice__pic {
  text-align: center;
}

.voice__slider {
  padding: 0 40px;
}

.voice .ti-widget.ti-goog .ti-reviews-container-wrapper {
  overflow: visible;
  margin: 0 -8px !important;
}

.voice .ti-widget.ti-goog .ti-controls-line {
  display: none !important;
}

.voice .ti-widget.ti-goog .ti-controls .ti-next,
.voice .ti-widget.ti-goog .ti-controls .ti-prev {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  top: -10px;
}

.voice .ti-widget.ti-goog .ti-controls .ti-next {
  right: -32px;
  background: url('../images/voice_right.png') center right 18px / 11px 19px no-repeat #003F6F;
}

.voice .ti-widget.ti-goog .ti-controls .ti-prev {
  left: -32px;
  background: url('../images/voice_left.png') center left 18px / 11px 19px no-repeat #003F6F;
}


.voice .ti-widget.ti-goog .ti-controls .ti-next::before,
.voice .ti-widget.ti-goog .ti-controls .ti-next::after,
.voice .ti-widget.ti-goog .ti-controls .ti-prev::before,
.voice .ti-widget.ti-goog .ti-controls .ti-prev::after {
  content: none;
}

.voice .ti-widget.ti-goog .ti-controls {
  display: block;
}

/**
 * about
 */

.about {
  background: #fff;
  padding: 50px 0;
}

.about__inner {
  padding: 0 20px;
}

.about__ttl {
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.333;
  position: relative;
  padding-bottom: 11px;
  margin-bottom: 22px;
}

.about__ttl::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 36px;
  height: 2px;
  background: #E57799;
}

.about-sec + .about-sec {
  margin-top: 28px;
}

.about-sec__ttl {
  background: #E57799;
  color: #fff;
  font-size: 22px;
  font-weight: 600;
  text-align: center;
  padding: 13px 0;
  margin-bottom: 15px;
}

.about-sec__desc {
  font-size: 16px;
  font-weight: 450;
  line-height: 1.625;
}

.about-sec__u {
  font-weight: 600;
  background: linear-gradient(to top, transparent 1px, #FAED50 1px, #FAED50 7px, transparent 7px);
}

.about-sec__p {
  color: #E57799;
}

.about__flow {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 17px;
  margin-bottom: 12px;
}

.about-flow-item {
  text-align: center;
}

.about-flow-item + .about-flow-item {
  position: relative;
}

.about-flow-item + .about-flow-item::before {
  content: '';
  position: absolute;
  left: -11px;
  top: 50%;
  transform: translateY(-50%) translateY(10px);
  width: 7px;
  height: 12px;
  background: url('../images/about-flow-arrow.png') center / contain no-repeat;
}

.about-flow-item__step {
  font-family: 'BIZ UDPGothic', sans-serif;
  font-size: 14px;
  color: #E57799;
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.about-flow-item__step::before,
.about-flow-item__step::after {
  content: '';
  display: block;
  width: 1.5px;
  height: 15px;
  background: #E57799;
}

.about-flow-item__step::before {
  transform: rotate(-15deg);
}

.about-flow-item__step::after {
  transform: rotate(15deg);
}

.about-flow-item__ttl {
  height: 70px;
  border-radius: 5px;
  background: #FFEDF3;
  align-content: center;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.357;
}

.about-flow-item__ttl.about-flow-item__ttl--small {
  font-size: 13px;
}

.about-fee {
  background: #FFEDF3;
  border-radius: 5px;
  padding: 12px 10px 10px;
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 5px;
  font-family: 'BIZ UDPGothic', sans-serif;
  margin: 13px 0;
}

.about-fee__ttl {
  font-size: 15px;
  font-weight: 600;
  color: #E57799;
  display: flex;
  gap: 3px;
  margin-bottom: 6px;
}

.about-fee__ttl::after {
  content: '';
  flex: 1 0 0px;
  background: url('../images/about-fee-arrow.png') top right / 133px 11px no-repeat;
  margin-top: -2px;
}

.about-fee__desc {
  background: #fff;
  align-content: center;
  text-align: center;
  height: 60px;
  border-radius: 5px;
  font-size: 14px;
  line-height: 1.357;
  font-weight: 600;
}

.about-fee__desc span {
  font-size: 24px;
}

.about-sec__note {
  font-size: 14px;
  font-weight: 450;
  color: #E57799;
  line-height: 1.714;
  margin: 16px 0 30px;
}

/**
 * faq
 */

.faq {
  background: #E3F1FF;
  padding: 50px 0;
}

.faq__inner {
  padding: 0 20px;
}

.faq__ttl {
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  padding-bottom: 11px;
  position: relative;
  margin-bottom: 22px;
  line-height: 1.333;
}

.faq__ttl::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 36px;
  height: 2px;
  border-radius: 100px;
  background: #3A8AC7;
}

.faq-item {
  background: #3A8AC7;
  color: #fff;
  border-radius: 10px;
}

.faq-item + .faq-item {
  margin-top: 12px;
}

.faq-item__question {
  padding: 10px 36px 10px 20px;
  align-content: center;
  min-height: 55px;
  box-sizing: border-box;
  position: relative;
  cursor: pointer;
}

.faq-item__question::before,
.faq-item__question::after {
  content: '';
  position: absolute;
  width: 12px;
  height: 2.5px;
  background: #fff;
  right: 13px;
  top: 50%;
  transform: translateY(-50%);
  transition: transform .3s ease;
}

.faq-item__question::before {
  transform: translateY(-50%) rotate(90deg);
}

.faq-item__question-txt {
  font-size: 17px;
  font-weight: 600;
  line-height: 1.47;
  position: relative;
  padding-left: 33px;
}

.faq-item__question-txt::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 27px;
  height: 27px;
  background: url('../images/faq_q.png') center / contain no-repeat;
}

.faq-item__body {
  height: 0;
  overflow: hidden;
}

.faq-item__body-inner {
  padding: 0 10px 15px;
}

.faq-item__answer {
  background: #fff;
  border-radius: 10px;
  color: #4B4B4B;
  padding: 8px 10px;
}

.faq-item__answer-ttl {
  font-size: 16px;
  font-weight: 600;
  color: #3A8AC7;
  border-bottom: dashed 1px #3A8AC7;
  line-height: 1.6875;
  padding: 0 0 6px 30px;
  margin-bottom: 7px;
  position: relative;
  font-weight: 600;
}

.faq-item__answer-ttl::before {
  content: 'A.';
  position: absolute;
  top: -1px;
  left: 0;
  font-size: 18px;
  font-weight: 450;
}

.faq-item__answer-desc {
  line-height: 1.714;
  font-size: 14px;
  font-weight: 450;
}

.faq-item.is-open .faq-item__question::before {
  transform: translateY(-50%);
}


/**
 * msg
 */
.msg {
  padding: 50px 0;
  background: radial-gradient(rgba(247,165,170, 0.35), #fff 70%) top    -54px left  -68px / 209px 209px no-repeat
            , radial-gradient(rgba(247,165,170, 0.35), #fff 70%) top    434px left   -9px / 177px 177px no-repeat
            , radial-gradient(rgba( 78,159,222, 0.35), #fff 70%) top    224px right -32px / 184px 184px no-repeat
            , radial-gradient(rgba( 78,159,222, 0.35), #fff 70%) bottom -95px right -26px / 184px 184px no-repeat
            , #fff;
}

.msg__inner {
  padding: 0 20px;
}

.msg__ttl {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.318;
  padding-bottom: 11px;
  text-align: center;
  position: relative;
  margin-bottom: 24px;
}

.msg__ttl::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 36px;
  height: 2px;
  background: #E57799;
}

.msg__pic {
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 27px;
}

.msg__txt1 {
  text-align: center;
  margin-bottom: 22px;
}

.msg__txt2 {
  text-align: center;
  line-height: 1.454;
  font-size: 17px;
  font-weight: 500;
  margin-bottom: 27px;
}

.msg__p {
  color: #E57799;
  font-size: 22px;
}
