:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}
*,
::after,
::before {
  box-sizing: border-box;
}
a,
button {
  cursor: revert;
}
menu,
ol,
ul {
  list-style: none;
}
img {
  max-inline-size: 100%;
  max-block-size: 100%;
}
table {
  border-collapse: collapse;
}
input,
textarea {
  -webkit-user-select: auto;
}
textarea {
  white-space: revert;
}
meter {
  -webkit-appearance: revert;
  appearance: revert;
}
:where(pre) {
  all: revert;
}
::placeholder {
  color: unset;
}
::marker {
  content: initial;
}
:where([hidden]) {
  display: none;
}
:where([contenteditable]:not([contenteditable='false'])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}
:where([draggable='true']) {
  -webkit-user-drag: element;
}
:where(dialog:modal) {
  all: revert;
}

html {
  font-family: 'Noto Sans JP', sans-serif;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: auto;
  font-size: 62.5%;
  font-weight: 500;
  color: #2E2D2D;
  scroll-behavior: smooth;
}

.head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 80px;
}
.head-button {
  display: flex;
  margin-right: 2.4rem;
}
.head-logo {
  padding-left: 2.4rem;
}
.head-main {
  display: flex;
  grid-column-gap: 4.8rem;
}
.head-nav {
  display: flex;
  align-items: center;
  font-size: 1.6rem;
  font-weight: bold;
  grid-column-gap: 3rem;
  color: #3D90C5;
}
.sec {
  position: relative;
  height: fit-content;
  overflow: hidden;
}
.img {
  display: flex;
  align-content: center;
  width: 100%;
  > img {
    width: 100%;
  }
}
img {
  width: 100%;
}
.contact {
  position: relative;
  background-color: #242781;
}

.contact-button {
  position: absolute;
  top: 42%;
  left: 55%;
}
.contact-line {
  position: absolute;
  top: 70%;
  left: 50.3%;
  transform: translateX(-50%);
  width: 39%;
}
.swiper {
  width: 100%;
  height: auto;
  overflow: hidden;
  display: flex;
}

.swiper-wrapper {
  display: flex;
}

.sample-slider .swiper-wrapper{
  transition-timing-function: linear;
}

.contact {
  background: #F1F4FF;
}

.contact-title {
  font-size: 2.0vw;
  font-weight: 700;
  text-align: center;
  color: #3D90C5;
}

.contact-desc {
  color: #888891;
  text-align: center;
  font-size: 1.0vw;
  font-weight: 500;
  margin-top: 0.8vw;
}

.form-body {
  padding: 4.0vh 0 8.0vh;
  background: #F1F4FF;
}

.form, .wpcf7-form {
  position: relative;
  max-width: 720px;
  margin: 2.4vh auto;
  background-color: #FFF;
  z-index: 10;
  padding: 32px 24px;
  border-radius: 8px;
}

.input-box {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 1vw;
}

.input-item {
  width: 100%;
  align-items: center;
  color: #2E2D2D;
  font-size: 1.4rem;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  margin-bottom: 24px;
}

.input-item-text {
  font-size: 1.4rem;
  margin-bottom: 0.4rem;
  color: #70AFDD;
}

.input-item input, .input-item select, .input-item textarea{
  padding: 16px;
  width: 100%;
  background: #F9F9FA;
  flex-shrink: 0;
  border-radius: 4px;
}

.input-submit {
  color: #FFF;
  font-size: 1.6rem;
  font-weight: 700;
  padding: 16px 120px;
  background: #3D90C5;
  border-radius: 8px;
  margin: 24px auto 0;
  display: block;
  cursor: pointer;
}

.poricy {
  margin-top: 2.4vh;
}

.poricy-wrap {
  font-size: 1.2rem;
  color: #888891;
  margin-top: 1.6rem;
  overflow-y: scroll;
  height: 240px;
  background-color: #F9F9FA;
  padding: 0.8vw;
  border-radius: 4px;
  margin-top: 0.2vw;
}

.input-item input::placeholder, .input-item select::placeholder {
  color: #999;
}

.footer {
  background-color: #FFF;;
  padding: 3.2rem 0 2.4rem;
}

.footer-desc {
  font-size: 1.4rem;
  text-align: center;
  color: #888891;
  margin-bottom: 0.8rem;
}

.nav {
  width: 15vw;
  position: fixed;
  right: 2vw;
  bottom: 2vw;
  z-index: 100;
}

.nav button {
  position: absolute;
  top: -2rem;
  left: -2rem;
  cursor: pointer;
  z-index: 101;
}

.nav.hide {
  display: none;
}

button, a {
  display: block;
  transition: opacity .3s;
}

button:hover {
  opacity: 0.6;
}

a:hover {
  opacity: 0.6;
}

.scroll {
  position: relative;
}

.scroll-content {
  position: absolute;
  bottom: 4.5vh;
  width: 65%;
  left: 50%;
  transform: translateX(-50%) !important;
}

.contact {
  position: relative;
}

.contact-button-1 {
  position: absolute;
  bottom: 1.5vw;
  left: 32vw;
  width: 14vw;
}
.contact-button-2{
  position: absolute;
  bottom: 1.5vw;
  left: 47vw;
  width: 17vw;
}

.movie {
  padding: 2.8vh 0;
  width: 100%;
  background-color: #F1F4FF;
}

.movie-inner {
  width: 30vw;
  margin: 0 auto;
}

.movie-content {
  width: 100%; /* 任意の横幅を指定 */
  height: auto;
  aspect-ratio: 16/9;
}

.faq {
  padding: 5.6vw 0 7.2vw;
  background-color: #DDF0FC;
}

.faq-title {
  text-align: center;
  font-size: 2.0vw;
  color: #3D90C5;
  font-weight: bold;
}

.faq-body {
  width: 40vw;
  margin: 4vw auto 0;
}

.faq-item {
  background-color: #FFF;
  padding: 1.0vw;
  margin-bottom: 2vw;
  border-radius: 8px;
  border: 2px solid var(--base, #3D90C5);
}

.faq-button {
  display: flex;
  grid-column-gap: 0.5vw;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  color: #3D90C5;
  font-weight: bold;
  font-size: 1.2vw;
  cursor: pointer;
}

.faq-ans {
  height: 0;
  position: relative;
  font-size: 0.8vw;
  color: #70AFDD;
  padding-left: 0.8vw;
  margin-top: 0vw;
  transform: scaleY(0);
  transition: all 0.3s ease-in-out;
  transform-origin: top;
}
.faq-ans.active {
  margin-top: 0.6vw;
  height: auto;
  transform: scaleY(1);
}
.faq-ans::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 4px;
  height: 100%;
  border-radius: 9in;
  background-color: #E0E0E4;
}

.checkbox {
  display: flex;
  font-size: 1.6rem;
  color: #3D90C5;
  margin: 2.4vh auto 0;
  width: fit-content;
  line-height: 1
  ;
  cursor: pointer;
}

.checkbox-item, .wpcf7-list-item input[type='checkbox'] {
  all: revert;
  width: 2.4rem;
}

.screen-reader-response{
  display: none;
}
.wpcf7-not-valid-tip{
  color: #CC0000;
}
.wpcf7-response-output{
  margin-top: 12px;
  color: #CC0000;
}

.target {
  opacity: 0;
  transform: translateY(1.6vw);
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

.target.enter {
  opacity: 1;
  transform: translateY(0);
}

.target.enter[data-target = "1"] {
  transition-delay: 0;
}

.target.enter[data-target = "2"] {
  transition-delay: 0.2s;
}

.target.enter[data-target = "3"] {
  transition-delay: 0.4s;
}

.target.enter[data-target = "4"] {
  transition-delay: 0.6s;
}

.target.enter[data-target = "5"] {
  transition-delay: 0.8s;
}

.target.enter[data-target = "6"] {
  transition-delay: 1.0s;
}

.target.enter[data-target = "7"] {
  transition-delay: 1.2s;
}

.target.enter[data-target = "8"] {
  transition-delay: 1.4s;
}

.target.enter[data-target = "9"] {
  transition-delay: 1.6s;
}

.target.enter[data-target = "10"] {
  transition-delay: 1.8s;
}

.target.enter[data-target = "11"] {
  transition-delay: 2.0s;
}

.target-delay {
  opacity: 0;
  transition-delay: 0.5s!important;
  transition: opacity 0.3s ease-in-out;
}

.target-delay.enter {
  opacity: 1;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

/** top */
.top-1 {
  position: absolute;
  bottom: 2vw;
  width: 10vw;
  left: 18vw;
}

.top-2 {
  position: absolute;
  bottom: 2vw;
  width: 10vw;
  left: 29vw;
}

.top-3 {
  position: absolute;
  bottom: 0;
  right: 15vw;
  width: 40vw;
}

/** feature */
.abs {
  position: absolute;
  top: 0;
}

.feature-1 {
  position: absolute;
  top: 7vw;
  width: 12vw;
  left: 30vw;
}

.feature-2 {
  position: absolute;
  top: 7vw;
  width: 12vw;
  left: 43.5vw;
}

.feature-3 {
  position: absolute;
  top: 7vw;
  width: 12vw;
  left: 57vw;
}

.feature-4 {
  position: absolute;
  top: 18.5vw;
  width: 25vw;
  left: 37vw;
}

.feature-5 {
  position: absolute;
  top: 22vw;
  width: 40vw;
  left: 29.5vw;
}


.feature {
  border-radius: 0.2vw;
  border: 0.1vw solid #3D90C5;
  background: #FFF;
  box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.30);
  padding: 0.8vw 1.0vw;
}

.feature-text {
  padding-right: 5.5vw;
  line-height: 1.65;
}

.feature-title {
  font-size: 1.0vw;
  font-weight: bold;
  color: #106BA4;
}

.feature-title span {
  position: relative;
}

.feature-title span::before {
  content: "";
  position: absolute;
  display: block;
  bottom: -0.1vw;
  left: -2%;
  width: 0%;
  height: 0.6vw;
  background: rgba(255, 147, 48, 0.40);
  z-index: -1;
  transition: width 0.3s ease-in-out;
}

.enter .feature-title span::before {
  width: 104%;
}

.feature[data-target = "1"] .feature-title span::before {
  transition-delay: 0.3s;
}

.feature[data-target = "2"] .feature-title span::before {
  transition-delay: 0.6s;
}

.feature[data-target = "3"] .feature-title span::before {
  transition-delay: 0.9s;
}

.feature[data-target = "4"] .feature-title span::before {
  transition-delay: 1.2s;
}

.feature-desc {
  margin-top: 0.4vw;
  font-size: 0.7vw;
  color: #888891;
}
.feature-image {
  position: absolute;
  right: 0.8vw;
  bottom: 0.6vw;
  width: 4vw;
}

.feature-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #3D90C5;
  padding: 1.0vw 4.0vw;
  border-radius: 0.4vw;
}

.feature-bottom-body {
  text-align: center;
  line-height: 1.65;
}

.feature-bottom-title {
  font-size: 1.6vw;
  color: #FFF;
  font-weight: bold;
  display: inline-block;
}

.feature-bottom-title {
  position: relative;
}

.feature-bottom-title::before {
  content: "";
  position: absolute;
  display: block;
  bottom: 0.2vw;
  left: -2%;
  width: 104%;
  height: 0.8vw;
  background: rgba(255, 147, 48);
  z-index: -1;
  border-radius: 0.2vw;
  transform: translateX(0);
  transition: transform 0.3s ease-in-out;
}

.feature-bottom-title::before {
  transform: translateX(1);
}


.feature-bottom-desc {
  margin-top: 0.4vw;
  font-size: 1.0vw;
  color: #FFF;
}

.feature-bottom-img {
  width: 13vw;
}

.feature-block {
  position: absolute;
  top: 37vw;
  display: grid;
  grid-template-columns: 1fr;
  grid-row-gap: 1.8vw;
  width: 45%;
  margin: 0 27.5%;
}
.feature-block .target:nth-child(1) {
  animation-delay: 0.3s;
}
.feature-block .target:nth-child(2) {
  animation-delay: 0.6s;
}
.feature-block .target:nth-child(3) {
  animation-delay: 0.9s;
}
.feature-block .target:nth-child(4) {
  animation-delay: 1.2s;
}
.feature-block .target:nth-child(5) {
  animation-delay: 1.5s;
}
.feature-block .target:nth-child(6) {
  animation-delay: 1.8s;
}


.feature-middle {
  position: absolute;
  top: 33vw;
  width: 7%;
  left: 46.5%;
}

.target-sub {
  transform: translateX(-200%);
  transition-delay: 1.7s;
}

.feature-middle.enter + .target-sub{
  transform: translateX(0);
}

/** place */
.place-inner {
  position: absolute;
  top: 4vw;
  left: 25vw;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-areas: "title title title" "sub sub sub" "sub sub sub";
  grid-column-gap: 1.5vw;
  grid-row-gap: 1.5vw;
  width: 50vw;
  justify-content: space-between;
}

.place-title {
  grid-area: title;
}

/** flow */
.flow-inner {
  position: absolute;
  top: 4.0vw;
  left: 23.85vw;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-column-gap: 1.5vw;
  grid-row-gap: 0.5vw;
  width: 48vw;
  justify-content: space-between;
}

.flow-title {
  position: relative;
  width: 40%;
  left: 30%;
  top:-30%;
}

/** voice */
.voice-inner {
  position: absolute;
  top: 3vw;
  left: 22.5vw;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-areas: "title title" "sub sub" "sub sub";
  grid-column-gap: 1.5vw;
  grid-row-gap: 2vw;
  width: 55vw;
  justify-content: space-between;
}

.voice-title {
  position: relative;
  grid-area: title;
  width: 20%;
  left: 40%;
}

.voice-inner div{
  width: 100%;
}

.voice-img {
  position: relative;
  z-index: 0;
}

.voice-text {
  position: relative;
  margin-top: -4px;
  font-size: 0.7vw;
  color: #888891;
  border-radius: 0.3vw;
  background: #FFF;
  box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.30);
  padding: 0.6vw 0.6vw 0.8vw 0.6vw;
  line-height: 1.65;
  z-index: 1;
}
.voice-bg {
  position: relative;
}
.voice-bg::before {
  content: "";
  position: absolute;
  bottom: -0.1vw;
  left: 0;
  width: 0%;
  height: 0.6vw;
  transition: width 0.3s ease-in-out;
  transition-delay: 1s;
}
.voice-bg.enter::before {
  width: 100%;
}

.voice-orange {
  color: #FF9330;
  font-weight: bold;
}
.voice-orange::before {
  background: rgba(255, 147, 48, 0.20);
}
.voice-blue {
  color: #3D90C5;
  font-weight: bold;
}
.voice-blue::before {
  background: rgba(61, 144, 197, 0.20);
}

.voice-block[data-target = "1"] .voice-bg::before {
  transition-delay: 0.5s;
}

.voice-block[data-target = "2"] .voice-bg::before {
  transition-delay: 1s;
}

.voice-block[data-target = "3"] .voice-bg::before {
  transition-delay: 1.5s;
}

.voice-block[data-target = "4"] .voice-bg::before {
  transition-delay: 2s;
}

/** price */
.price {
  position: absolute;
  top: 3vw;
  left: 29.3vw;
  width: 40vw;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-row-gap: 1vw;
}

.company {
  position: absolute;
  top: 6vw;
  left: 31vw;
  width: 38vw;
}

.svg-hover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


.svg-hover.target rect {
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s ease-in-out;
}

.svg-hover.target[data-target = "1"] rect {
  transition-delay: 0.5s;
}

.svg-hover.target[data-target = "2"] rect {
  transition-delay: 1s;
}

.svg-hover.target[data-target = "3"] rect {
  transition-delay: 1.5s;
}

.svg-hover.target[data-target = "4"] rect {
  transition-delay: 2s;
}

.svg-hover.target[data-target = "5"] rect {
  transition-delay: 2.5s;
}

.svg-hover.target.enter rect{
  transform: scaleX(1);
}

.target-sub {
  transform: translateX(-200%);
  transition-delay: 1.7s;
}

.feature-middle.enter + .target-sub{
  transform: translateX(0);
}

@media screen and (max-width: 750px) {
  .head {
    display: flex;
    flex-direction: column;
    height: 144px;
    justify-content: center;
    align-items: flex-start;
    padding: 1.6rem;
  }
  .head-nav {
    display: none;
  }
  .head-logo {
    padding: 0;
    width: 100%;
  }
  .head-button {
    width: 100%;
    margin: 0;
    padding: 0;
  }
  .head-main {
    width: 50%;
  }	

  .contact-button-1 {
    position: absolute;
    bottom: 30vw;
    left: 5%;
    width: 90%;
  }
  .contact-button-2{
    position: absolute;
    bottom: 8vw;
    left: 5%;
    width: 90%;
  }

  .scroll-content {
    position: absolute;
    bottom: 4.5vh;
    width: 90%;
    left: 50%;
    transform: translateX(-50%);
  }

  .movie-inner {
    width: 90%;
    margin: 0 auto;
  }

  .faq-item {
    margin-bottom: 2.5vh;
  }

  .faq {
    padding: 32px 0 48px;
  }

  .faq-title {
    font-size: 2.0rem;
  }

  .faq-body {
    width: 90%;
    margin: 1.8rem auto 0;
  }

  .faq-item {
    padding: 1.2rem;
    margin-bottom: 1.8rem;
  }

  .faq-button {
    width: 100%;
    font-size: 1.4rem;
  }

  .faq-ans {
    font-size: 1.2rem;
    padding-left: 1rem;
  }
  .faq-ans.active {
    margin-top: 0.6rem;
  }

  .form-body {
    padding: 3.2rem 0 4.8rem;
  }

  .form {
    width: 90%;
    margin: 0 auto 0;
    padding: 2.0rem 1.6rem;
  }

  .contact-title {
    font-size: 2.0rem;
  }

  .contact-desc {
    font-size: 1.2rem;
    margin-top: 0.8rem;
    padding: 0 1.6rem;
    margin-bottom: 2.4rem;
  }

  .input-box {
    display: grid;
    grid-template-columns: 1fr;
  }

  .input-title {
    font-size: 3.4rem;
  }

  .input-item {
    flex-direction: column;
    align-items: flex-start;
    font-size: 1.3rem;
    margin-bottom: 2.0rem;
  }

  .input-item input, .input-item select, .input-item textarea{
    padding: 0 1.2rem;
    width: 100%;
    height: 40px;
    background: #F9F9FA;
    flex-shrink: 0;
    border-radius: 4px;
  }
  .input-item select {
    line-height: 40px;
  }
  .input-submit {
    margin-top: 24px;
  }

  .poricy {
    margin-top: 2.4rem;
  }

  .poricy-wrap {
    font-size: 1.2rem;
    color: #888891;
    margin-top: 1.6rem;
    overflow-y: scroll;
    height: 240px;
    background-color: #F9F9FA;
    padding: 1.2rem;
    border-radius: 4px;
    margin-top: 0.8rem;
  }

  .swiper-button-prev {
    display: none;
  }

  .swiper-pagination, .swiper-button.swiper-button-prev, .swiper-button.swiper-button-next{
    display: none;
  }

  button:hover, a:hover {
    opacity: 1;
  }

  .footer-desc {
    font-size: 1.1rem;
  }

  .checkbox {
    font-size: 1.4rem;
    margin: 2.4rem auto 0;
  }

  .checkbox-item {
    all: revert;
    width: 1.4rem;
  }

  /** top */
  .top-1 {
    position: absolute;
    bottom: 46vw;
    width: 40vw;
    left: 4vw;
  }

  .top-2 {
    position: absolute;
    bottom: 4vw;
    width: 40vw;
    left: 4vw;
  }

  .top-3 {
    position: absolute;
    bottom: 0;
    right: 5vw;
    width: 80vw;
  }

  /** feature */
  .abs {
    position: absolute;
    top: 0;
  }

  .feature-1 {
    position: absolute;
    top: 26vw;
    width: 43vw;
    left: 4.5vw;
  }

  .feature-2 {
    position: absolute;
    top: 26vw;
    width: 43vw;
    left: 53vw;
  }

  .feature-3 {
    position: absolute;
    top: 64vw;
    width: 43vw;
    left: 28vw;
  }

  .feature-4 {
    display: none;
  }

  .feature-5 {
    position: absolute;
    top: 110vw;
    width: 94vw;
    left: 3vw;
  }

  .feature-middle {
    top: 140vw;
    width: 100%;
    left: 0;
  }

  .feature {
    border-radius: 0.2rem;
    border: 0.2rem solid #3D90C5;
    background: #FFF;
    box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.30);
    padding: 0.8rem 1.0rem;
  }

  .feature-block {
    top: 152vw;
    width: calc(100% - 3.2rem);
    margin: 0 1.6rem;
    grid-row-gap: 2.4rem;
  }

  .feature-text {
    padding-right: 0;
    line-height: 1.65;
  }

  .feature-title {
    font-size: 1.5rem;
  }
  .feature-title span::before {
    bottom: -0.2rem;
    left: -2%;
    width: 0%;
    height: 0.8rem;
  }
  .feature-desc {
    margin-top: 0.4rem;
    font-size: 1.3rem;
  }
  .feature-image {
    right: 0.8rem;
    bottom: 0.8rem;
    width: 6.4rem;
    opacity: 0.1;
    z-index: -1;
  }

  .feature-bottom {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 1.4rem 2.0rem;
    border-radius: 0.4vw;
    text-align: left;
  }

  .feature-bottom-body {
    text-align: left;
  }

  .feature-bottom-title {
    font-size: 3.0rem;
  }

  .feature-bottom-title::before {
    bottom: 0.4rem;
    left: -2%;
    width: 104%;
    height: 1.4rem;
    border-radius: 0.2rem
  }

  .feature-bottom-desc {
    margin-top: 0.4rem;
    font-size: 1.6rem;
  }
  .feature-bottom-img {
    width: 80%;
    margin: 1.6rem auto 0;
  }

  /** place */
  .place-inner {
    position: absolute;
    top: 12vw;
    left: 5vw;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-template-areas: "title" "sub" "sub""sub" "sub""sub" "sub";
    grid-row-gap: 4vw;
    width: 90vw;
    justify-content: space-between;
  }

  /** flow */
  .flow-inner {
    position: absolute;
    top: 10vw;
    left: 4.2vw;
    grid-template-columns: repeat(1, 1fr);
    grid-column-gap: 1.5vw;
    grid-row-gap: 2.6vw;
    width: 90vw;
  }

  .flow-title {
    position: relative;
    width: 100%;
    left: 0;
  }

  /** voice */
  .voice-inner {
    position: absolute;
    top: 6vw;
    left: 4.2vw;
    display: flex;
    flex-direction: column;
    width: 90vw;
    grid-column-gap: 1.5vw;
    grid-row-gap: 4vw;
  }

  .voice-title {
    position: relative;
    grid-area: title;
    width: 100%;
    left: 0;
  }

  .voice-text {
    position: relative;
    margin-top: -4px;
    font-size: 1.2rem;
    border-radius: 0.4rem;
    padding: 1.0rem 1.2rem;
  }

  .voice-bg {
    display: inline-block;
  }

  .voice-bg::before {
    bottom: 0.2rem;
    height: 0.6rem;
  }


  /** price */
  .price {
    position: absolute;
    top: 10vw;
    left: 5vw;
    width: 90vw;
    grid-row-gap: 6vw;
  }

  .company {
    position: absolute;
    top: 22vw;
    left: 6vw;
    width: 88vw;
  }

  .pc {
    display: none;
  }
  .sp {
    display: flex;
  }

  @media screen and (max-width: 415px) {
    .sec-large {
      padding-bottom: 16vw;
      background: #e3e3e3;
    }
  }

  @media screen and (max-width: 390px) {
    .sec-large {
      padding-bottom: 48vw;
      background: #e3e3e3;
    }
  }
}
/** thanks page */
.thanks {
  padding: 4vh 0 8vh;
  background: #F1F4FF;
  height: calc(100vh - 80px);
  }
  .thanks-body {
  background-color: #FFF;
  border-radius: 1.2rem;
  width: 60%;
  margin: 0 auto;
  padding: 4rem 1.6rem;
  font-size: 1.6vw;
  }
  .thanks-link {
  font-size: 1.6rem;
  margin-top: 1.0vw;
  }
  @media screen and (max-width: 750px) {
  .thanks-body {
  width: 90%;
  border-radius: 1.2rem;
  font-size: 1.6rem;
  }
  .thanks-body .contact-desc {
  font-size: 1.4rem;
  }
  .thanks-link {
  font-size: 1.2rem;
  margin-top: 0.8rem;
  }
  }