.marker {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(0%, #FAC348));
  background: linear-gradient(transparent 70%, #FAC348 0%);
  color: #D92162;
}

.owl10 > * + * {
  margin-top: calc(10px + 0.1vw);
}

.voice-cardlist {
  padding: 0 20px;
}
.voice-cardlist > * + * {
  margin-top: calc(60px + 0.1vw);
}
.voice-cardlist .voice-carditem {
  position: relative;
}
.voice-cardlist .voice-carditem .icon {
  width: calc(120px + 0.1vw);
  height: calc(120px + 0.1vw);
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto calc(12px + 0.1vw);
}
.voice-cardlist .voice-carditem .card-ttl {
  font-size: calc(18px + 0.1vw);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0;
  color: #02B58D;
  text-align: center;
  margin-bottom: calc(10px + 0.1vw);
}
.voice-cardlist .voice-carditem .content {
  background: #FFF7E4;
  padding: 12px 16px 20px;
}
.voice-cardlist .voice-carditem .content p.ttl {
  font-size: calc(15px + 0.1vw);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  color: #02B58D;
  text-align: center;
  margin-bottom: 9px;
}
.voice-cardlist .voice-carditem .content p.txt {
  font-size: calc(11px + 0.1vw);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
}
.voice-cardlist .voice-carditem:not(:first-of-type)::after {
  display: inline-block;
  content: "";
  width: calc(70px + 0.1vw);
  height: calc(16px + 0.1vw);
  background: url(/img/icon_bg_voice.png) no-repeat center/contain;
  position: absolute;
  top: -38px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media only screen and (min-width: 750px) {
  .voice-cardlist .voice-carditem .icon {
    width: 180px;
    height: 180px;
    margin: 0 auto 20px;
  }
  .voice-cardlist .voice-carditem .card-ttl {
    font-size: 24px;
    margin-bottom: 15px;
  }
  .voice-cardlist .voice-carditem .content p.ttl {
    font-size: 21px;
  }
  .voice-cardlist .voice-carditem .content p.txt {
    font-size: 18px;
  }
  .voice-cardlist .voice-carditem:not(:first-of-type)::after {
    display: inline-block;
    content: "";
    width: calc(70px + 0.1vw);
    height: calc(16px + 0.1vw);
    background: url(/img/icon_bg_voice.png) no-repeat center/contain;
    position: absolute;
    top: -38px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.form {
  position: relative;
  font-family: Noto Sans JP, sans-serif;
}

#form-wrap {
  margin-top: -10px;
  padding: 0 40px 16vw;
  width: 100%;
}
#form-wrap > * + * {
  margin-top: calc(14px + 1vw);
}
#form-wrap .form-item label {
  font-size: calc(10px + 1vw);
  color: #707070;
  margin-bottom: calc(7px + 1vw);
  display: block;
}
#form-wrap .form-item input,
#form-wrap .form-item textarea {
  display: block;
  width: 100%;
  border: 1px solid #383535;
  background: #E5E5E5;
  padding: calc(5.5px + 1vw) calc(10px + 1vw);
}
#form-wrap .checkbox-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  width: 100%;
}
#form-wrap .checkbox-wrap label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 5px;
     -moz-column-gap: 5px;
          column-gap: 5px;
  white-space: nowrap;
}
#form-wrap .checkbox-wrap label input {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
#form-wrap .checkbox-wrap.-col2 {
  gap: 10px;
}
#form-wrap .checkbox-wrap.-col2 > label {
  width: calc(50% - 10px);
}
@media only screen and (max-width: 480px) {
  #form-wrap .checkbox-wrap.-col2 > label {
    width: 100%;
  }
}
#form-wrap input[type=submit] {
  font-size: calc(54px + 0.6vw);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
  background: #0CA582;
  width: calc(387px + 0.3vw);
  padding: calc(30px + 0.3vw) calc(48px + 0.3vw);
  display: grid;
  place-content: center;
  margin: 0 auto;
  border: none;
  color: #fff;
  margin-top: calc(30px + 0.3vw); /* 余白を小さく変更 */
  cursor: pointer;
  transition: 0.3s;
  border-radius: 24px;
  white-space: normal;
  overflow-wrap: break-word;
  min-width: 387px;
}

/* 画面が狭い場合の調整 */
@media (max-width: 600px) {
  #form-wrap input[type=submit] {
    width: 100%;             /* 幅を画面幅に合わせる */
    min-width: unset;        /* 必要に応じて最小幅を解除 */
    font-size: calc(20px + 0.6vw); /* フォントサイズを少し調整 */
  }
}

#form-wrap input[type=submit]:hover {
  opacity: 0.8;
}

@media only screen and (min-width: 750px) {
  #form-wrap {
    padding-bottom: 100px;
  }
  #form-wrap .form-item label {
    font-size: 18px;
    color: #707070;
    margin-bottom: 10px;
  }
  #form-wrap .form-item input,
  #form-wrap .form-item textarea {
    display: block;
    width: 100%;
    border: 1px solid #383535;
    background: #E5E5E5;
    padding: 20px;
  }
  #form-wrap input[type=submit] {
    font-size: 21px;
    width: 250px;
    min-height: 60px;
  }
}
.form-notice {
  color: #707070;
  font-size: calc(10px + 0.7vw);
  line-height: 1.5;
  text-align: right;
  margin-top: 1.5rem !important;
}

@media only screen and (min-width: 750px) {
  .form-notice {
    font-size: 16px;
  }
}
.form-notice--tel {
  margin-top: 0.5rem !important;
}

@media only screen and (min-width: 750px) {
  .for-sp {
    display: none;
  }
}
.no-link {
  pointer-events: none;
}

.form-notice--tel a {
  color: #707070;
}

.cta-btn {
  width: clamp(0px, 95.4666666667vw, 716px);
  margin-inline: auto;
  cursor: pointer;
}

.yearsguarantee {
  position: relative;
}

.cta-btn--yearsguarantee {
  position: absolute;
  bottom: 9.5%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.precautions {
  position: relative;
}

.cta-btn--27-precautions {
  position: absolute;
  bottom: 1.5%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.company {
  position: relative;
}

.tokushoho {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 5%;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-family: Noto Sans JP, sans-serif;
  color: #30200C;
  font-weight: bold;
  font-size: clamp(12px, 2.1333333333vw, 16px);
}

.header-campaign {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.header-campaign img {
  width: 100%;
  height: auto;
  display: block;
}


.campain {
  max-width: 750px;
  width: 100%;
  margin: 0 auto;
}

.campain img {
  max-width: 100%;
  height: auto;
  display: block;
}
