@charset "UTF-8";
/*================================================== 
  service-lp
==================================================*/
/* general settings ==================== */
/*************** html ****************/
html {
  font-family: "M PLUS 1p", "Hiragino Kaku Gothic ProN", "Hiragino Sans", YuGothic, "Yu Gothic medium", Meiryo, "sans-serif";
  line-height: 1.8;
  font-weight: 500;
  color: #000000;
  position: relative;
}
@media (max-width: 575.8px) {
  html {
    font-size: 14px;
  }
}
@media (min-width: 575.9px) {
  html {
    font-size: 14px;
  }
}
@media (min-width: 767.8px) {
  html {
    font-size: 16px;
  }
}
@media (min-width: 980px) {
  html {
    font-size: 16px;
  }
}
@media (min-width: 1180px) {
  html {
    font-size: 18px;
  }
}

/*************** body ****************/
body {
  min-width: 280px;
}

/*************** font ****************/
.font-ja {
  font-family: "M PLUS 1p", "Hiragino Kaku Gothic ProN", "Hiragino Sans", YuGothic, "Yu Gothic medium", Meiryo, "sans-serif";
}

.font-en {
  font-family: Arial, Helvetica, "sans-serif";
}

/*************** width ****************/
.content-width {
  width: 95%;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 1180px) {
  .content-width {
    width: 1180px;
  }
}

input[type=text],
input[type=email],
input[type=tel],
input[type=password],
textarea,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  text-indent: 0.01px;
  text-overflow: "";
  padding: 0.5em;
  border: solid 1px #EBEBEB;
  background: #FFF;
  box-shadow: inset 1px 1px 2px 0px rgba(0, 0, 0, 0.2);
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.5s;
  border-radius: 4px;
  max-width: 100%;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus,
input[type=password]:focus,
textarea:focus,
select:focus, input[type=text]:hover,
input[type=email]:hover,
input[type=tel]:hover,
input[type=password]:hover,
textarea:hover,
select:hover {
  border: solid 1px #DC0012;
  box-shadow: 0px 0px 5px 0px rgba(233, 165, 102, 0.4);
}

input[type=radio]:focus {
  border: solid 1px #DC0012;
  box-shadow: 0px 0px 5px 0px rgba(233, 165, 102, 0.4);
}

input[type=checkbox] {
  border: solid 1px #B9B9B9;
  vertical-align: -8px;
  position: relative;
  margin-right: 5px;
  border-radius: 3px;
  width: 1.5em;
  height: 1.5em;
  background: #FFF;
  cursor: pointer;
}
input[type=checkbox]:checked {
  background: #DC0012;
  border: solid 1px #999999;
}
input[type=checkbox]:checked::before {
  display: block;
  content: "";
  width: 10px;
  height: 4px;
  position: absolute;
  left: 1px;
  top: 0.9em;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
  background: #FFF;
  transform: rotate(45deg);
  transform-origin: right center;
}
input[type=checkbox]:checked::after {
  display: block;
  content: "";
  width: 1em;
  height: 4px;
  position: absolute;
  left: 8px;
  top: 0.9em;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
  background: #FFF;
  transform: rotate(-53deg);
  transform-origin: left center;
}

*:has(> select) {
  position: relative;
}
*:has(> select)::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 0.5rem;
  height: 0.5rem;
  background: #000000;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  right: 0.5rem;
  top: 0.5rem;
}

/* contact form 7 */
form.wpcf7-form input[type=text], form.wpcf7-form input[type=email], form.wpcf7-form input[type=tel], form.wpcf7-form input[type=password], form.wpcf7-form textarea, form.wpcf7-form select {
  width: 100%;
}

.wpcf7-not-valid-tip {
  font-size: 0.86rem !important;
  line-height: 1.2;
  color: #DC0012 !important;
}

.area-acceptance {
  text-align: center;
  font-size: 0.86rem;
  margin-bottom: 1em;
}
.area-acceptance span {
  display: inline-block;
}
.area-acceptance a {
  display: inline-block;
  text-decoration: underline;
  color: #DC0012;
}

.btnwrap--submit {
  position: relative;
}
.btnwrap--submit p {
  width: 12em;
  height: 2.5em;
  margin: 0 auto;
  position: relative;
}
.btnwrap--submit .wpcf7-spinner {
  position: absolute;
  top: 50%;
  left: 105%;
  transform: translateY(-50%);
}

.btn-submit {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  width: 100%;
  height: 100%;
  background: #DC0012;
  color: #FFF;
  text-align: center;
  border-radius: 50vh;
}
.btn-submit:disabled {
  background: #999999;
}

.wpcf7-form .required .list-form__label p {
  display: inline-block;
}
.wpcf7-form .required .list-form__label p::after {
  content: "*";
  color: #DC0012;
  font-size: 1rem;
}

/* contents ==================== */
/* container ==================== */
body:has(.service-lp) {
  background: #F8F8F8;
}

/* line ==================== */
.ex-line {
  width: 100%;
  height: auto;
}

/* call to action ==================== */
.ctablock {
  background: #DC0012;
  border-radius: 0.56rem;
  color: #FFF;
  text-align: center;
  max-width: 980px;
  width: 95%;
  margin: 4.17rem auto;
  padding: 2.78rem 5%;
  position: relative;
}
.ctablock::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: calc(100% - 24px);
  height: calc(100% - 24px);
  top: 12px;
  left: 12px;
  border-radius: calc(0.56rem - 2px);
  background: transparent;
  border: solid 1px #FFF;
  z-index: 1;
}
.ctablock__ttl {
  font-size: 1.43rem;
}
.ctablock__btnwrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  flex-direction: row;
  gap: 1rem;
  margin-top: 2rem;
}
.ctablock__btnwrap > div {
  margin-top: 1rem;
}
.ctablock__btnwrap a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  border-radius: 50vh;
  width: 17rem;
  height: 4em;
  text-align: center;
  position: relative;
  font-weight: 700;
  z-index: 9;
}
.ctablock__btnwrap a .baloon {
  position: absolute;
  display: inline-block;
  border-radius: 50vh;
  font-size: 0.86rem;
  text-align: center;
  width: 10em;
  line-height: 1;
  padding: 0.5em 0;
  top: -1.25em;
  left: 50%;
  transform: translateX(-50%);
}
.ctablock__btn--contact a {
  background: #FFF;
  color: #DC0012;
}
.ctablock__btn--contact a .baloon {
  background: #DC0012;
  color: #FFF;
  border: solid 1px #FFF;
}
.ctablock__btn--catalog a {
  color: #FFF;
  background: #004D97;
}
.ctablock__btn--catalog a .baloon {
  background: #FFF;
  color: #004D97;
}

/* header ==================== */
.header {
  width: 100%;
  height: 7rem;
  box-shadow: 0 -1px 5px 0px rgba(0, 0, 0, 0.15);
  background: #F8F8F8;
}
.header__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  height: 100%;
}
.header__logo {
  width: 8.89rem;
}
.header__logo a {
  text-align: center;
}
.header__tel {
  max-width: 50%;
}
.header__tel img {
  width: 13.44rem;
  max-width: 100%;
}
.header__tel a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 0 1em;
  color: #DC0012;
}
.header__bizhour {
  line-height: 1.1;
  font-weight: 500;
}

body.page-template-page-service_lp .header {
  height: 5rem;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: none;
}

body.page-template-page-service_lp .header__empty {
  position: relative;
  z-index: 9;
  width: 100%;
  height: auto;
  aspect-ratio: 16000/909;
  background: url(../img/service-lp/img_mv-after.png) no-repeat left bottom/cover;
  transform: translateY(-1px) scale(-1, -1);
}

/* mainview ==================== */
.mvblock {
  background: url(../img/service-lp/bg_mainview-sp.png) no-repeat bottom center/cover;
  padding-top: 8rem;
  width: 100%;
  height: auto;
}
.mvblock__main {
  width: 100%;
}
.mvblock__catch {
  color: #FFF;
  font-weight: 500;
  text-align: center;
  font-size: 1.71rem;
}
.mvblock__catch img {
  display: inline-block;
  vertical-align: middle;
  width: 1.25em;
  margin-left: 0.5em;
}
.mvblock__ttlbox {
  background: rgba(220, 0, 18, 0.86);
  border-radius: 0.44rem;
  color: #FFF;
  text-align: center;
  width: 30.6rem;
  max-width: 100%;
  margin: 1em auto 0;
  padding: 3em 0 2em;
}
.mvblock__ttlinner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 0.5em;
  margin-bottom: 1em;
}
.mvblock__ttl--baloon {
  display: inline-block;
  background: #FFF;
  border-radius: 50vh;
  color: #DC0012;
  padding: 0 1em;
}
.mvblock__ttl--subsidy {
  font-size: 0.93rem;
  border-radius: 50vh;
  padding: 0 1em;
  color: #DC0012;
  background: #FFF;
}
.mvblock__ttl--main {
  color: #FFF;
  font-size: 1.881rem;
  font-weight: 700;
  margin-bottom: 0.5em;
}
.mvblock__ttl--sub {
  color: #FFF;
  font-size: 0.93rem;
}
.mvblock__form {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 0.56rem;
  width: 27.2rem;
  max-width: 100%;
  margin: 1em auto 0;
}
.mvblock__formwrap {
  font-size: 0.93rem;
}
.mvblock__formttl {
  background: #DC0012;
  text-align: center;
  padding: 1em;
  color: #FFF;
  border-top-left-radius: 0.56rem;
  border-top-right-radius: 0.56rem;
  line-height: 1.2;
}
.mvblock__formttl h2 {
  font-size: 1.2em;
}
.mvblock__formwrap {
  padding: 1em 2.5% 2em;
}
.mvblock__formwrap .list-form {
  text-align: center;
}
.mvblock__formwrap .list-form__item {
  width: 22rem;
  max-width: 100%;
  margin: 0 auto 0.5rem;
}
.mvblock__formwrap .list-form__item.col2 {
  display: inline-block;
  width: 11rem;
}
.mvblock__formwrap .list-form__label {
  text-align: left;
}
.mvblock__formwrap .list-form__data {
  text-align: left;
}
.mvblock__formwrap .list-form__data input {
  width: 100%;
}

/* introblock ==================== */
.introblock {
  margin-top: 2.78rem;
  margin-bottom: 2.78rem;
}
.introblock__catch {
  width: 17.78rem;
  margin: 0 auto 2.78rem;
}
.introblock__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  flex-direction: row;
  gap: 1em 1.39rem;
  margin-bottom: 2.78rem;
}
.introblock__item {
  width: auto;
  height: 6rem;
}
.introblock__item img {
  width: auto;
  max-width: 100%;
  height: 100%;
}
.introblock__ttl {
  text-align: center;
  margin-bottom: 2.78rem;
}
.introblock__system {
  width: 52.17rem;
  max-width: 100%;
  margin: 0 auto;
}

/* problemblock ==================== */
.problemblock {
  margin-top: 2.78rem;
}
.problemblock__ttl {
  text-align: center;
  color: #DC0012;
  font-weight: 500;
  font-size: 1.43rem;
  padding-top: 1.8rem;
  padding-bottom: 2.9rem;
  margin-bottom: 1.39rem;
  position: relative;
}
.problemblock__ttl::before, .problemblock__ttl::after {
  content: "";
  display: inline-block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.problemblock__ttl::before {
  width: 6.67rem;
  height: 1.52rem;
  background: url(../img/service-lp/burst-red.png) no-repeat top left/cover;
  top: 0;
}
.problemblock__ttl::after {
  width: 27.78rem;
  max-width: 100%;
  height: auto;
  aspect-ratio: 1389/172;
  background: url(../img/service-lp/baloon-red.png) no-repeat top left/cover;
  bottom: 0;
}
.problemblock__item {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  flex-direction: row;
  gap: 5%;
  text-align: center;
}
.problemblock__item:nth-child(n+2) {
  margin-top: 1.39rem;
}
.problemblock__item > div {
  width: 45%;
  max-width: 15rem;
}
.problemblock__itemimg {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  border-radius: 0.56rem;
  background: #FFF;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
}
.problemblock__itemimg > img {
  max-width: 70%;
  width: 10rem;
}
.problemblock__before .problemblock__itemimg {
  border: solid 3px #999999;
  border-radius: 0.56rem;
  box-shadow: 3px 3px 0 #999999;
}
.problemblock__after .problemblock__itemimg {
  border: solid 3px #DC0012;
  border-radius: 0.56rem;
  box-shadow: 3px 3px 0 #DC0012;
  position: relative;
}
.problemblock__after .problemblock__itemimg::before {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 2rem;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background: #DC0012;
  position: absolute;
  left: -10%;
  top: 50%;
  transform: translateY(-50%);
}
.problemblock__itemtxt {
  margin-top: 1em;
}
.problemblock__itemtxt--after {
  font-size: 1.2em;
  line-height: 1.6;
}
.problemblock__afterbaloon {
  background: #DC0012;
  color: #FFF;
  margin: 1em 0 0.25em;
  font-weight: 500;
  border-radius: 50vh;
  font-size: 1.1em;
  padding: 0.25em 1em;
  position: relative;
}

/* meritblock ==================== */
.meritblock {
  margin-top: 2.78rem;
}
.meritblock__ttl {
  width: 17.78rem;
  margin: 0 auto 2.78rem;
}
.meritblock__listitem {
  background: #DC0012;
  border-radius: 0.56rem;
  color: #FFF;
  padding: 2em 2.5%;
  position: relative;
}
.meritblock__listitem:nth-child(n+2) {
  margin-top: 1.39rem;
}
.meritblock__listitem::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 2.44rem;
  height: 2.94rem;
  left: 1em;
  top: -1.5em;
}
.meritblock__listitem:nth-child(1)::before {
  background: url(../img/service-lp/num_01.png) no-repeat top left/cover;
}
.meritblock__listitem:nth-child(2)::before {
  background: url(../img/service-lp/num_02.png) no-repeat top left/cover;
}
.meritblock__listitem:nth-child(3)::before {
  background: url(../img/service-lp/num_03.png) no-repeat top left/cover;
}
.meritblock__listitem:nth-child(4)::before {
  background: url(../img/service-lp/num_04.png) no-repeat top left/cover;
}
.meritblock__listitem:nth-child(5)::before {
  background: url(../img/service-lp/num_05.png) no-repeat top left/cover;
}
.meritblock__listitem::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: auto;
  height: 75%;
  aspect-ratio: 1/1;
  background: transparent;
  border-bottom-right-radius: 0.56rem;
  border-right: solid 3px #DC0012;
  border-bottom: solid 3px #DC0012;
  right: -6px;
  bottom: -6px;
}
.meritblock__photo {
  width: 20rem;
  margin: 0 auto 1.39rem;
}
.meritblock__itemttl {
  font-size: 1.43rem;
  font-weight: 700;
}
.meritblock__pos {
  margin-top: 2.78rem;
  background: #FFF;
  border-radius: 0.56rem;
  padding: 2em 2.5%;
}
.meritblock__posttl {
  text-align: center;
  background: #DC0012;
  width: 20rem;
  margin: 0 auto 1em;
  padding: 0.75em 0;
  line-height: 1;
  border-radius: 50vh;
  color: #FFF;
  font-weight: 500;
}
.meritblock__posbefore, .meritblock__posafter {
  width: 100%;
  position: relative;
}
.meritblock__posbefore::before, .meritblock__posbefore::after, .meritblock__posafter::before, .meritblock__posafter::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 14px;
  height: 19px;
  background: url(../img/service-lp/img_pin.png) no-repeat top left/cover;
}
.meritblock__posbefore::before, .meritblock__posafter::before {
  left: 0;
}
.meritblock__posbefore::after, .meritblock__posafter::after {
  right: 0;
}
.meritblock__posbefore::before, .meritblock__posbefore::after {
  top: 0;
}
.meritblock__posafter::before, .meritblock__posafter::after {
  bottom: -5px;
}
.meritblock__posattention {
  font-size: 0.86rem;
  margin-bottom: 2em;
}

/* functionblock ==================== */
.functionblock {
  background: #DC0012;
  padding: 1.39rem 0;
  margin-top: 6.255rem;
  margin-bottom: 6.255rem;
  position: relative;
}
.functionblock::before, .functionblock::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: auto;
  aspect-ratio: 720/41;
}
.functionblock::before {
  background: url(../img/service-lp/bg_wave-before.png) no-repeat top left/cover;
  bottom: 100%;
  left: 0;
}
.functionblock::after {
  background: url(../img/service-lp/bg_wave-after.png) no-repeat top left/cover;
  top: 100%;
  left: 0;
}
.functionblock__ttl {
  text-align: center;
  color: #FFF;
  font-weight: 500;
  font-size: 1.43rem;
  padding-top: 1.8rem;
  padding-bottom: 2.9rem;
  margin-bottom: 1.39rem;
  position: relative;
}
.functionblock__ttl img {
  width: 5rem;
  margin: 0 auto 0.5em;
}
.functionblock__ttl::before, .functionblock__ttl::after {
  content: "";
  display: inline-block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.functionblock__ttl::before {
  width: 6.67rem;
  height: 1.52rem;
  background: url(../img/service-lp/burst-wh.png) no-repeat top left/cover;
  top: 0;
}
.functionblock__ttl::after {
  width: 27.78rem;
  max-width: 100%;
  height: auto;
  aspect-ratio: 1389/172;
  background: url(../img/service-lp/baloon-wh.png) no-repeat top left/cover;
  bottom: 0;
}
.functionblock__subttl {
  text-align: center;
  margin-bottom: 2.78rem;
  color: #FFF;
}
.functionblock__item {
  background: #FFF;
  border-radius: 0.56rem;
  padding: 1.39rem 2.5%;
  position: relative;
}
.functionblock__item::before, .functionblock__item::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 14px;
  height: 19px;
  background: url(../img/service-lp/img_pin.png) no-repeat top left/cover;
  top: 5px;
}
.functionblock__item::before {
  left: 5px;
}
.functionblock__item::after {
  right: 5px;
}
.functionblock__item:nth-child(n+2) {
  margin-top: 1.39rem;
}
.functionblock__caption {
  margin-bottom: 1em;
}
.functionblock__itemttl {
  text-align: center;
  background: #DC0012;
  width: 20rem;
  margin: 0 auto 1em;
  padding: 0.75em 0;
  line-height: 1;
  border-radius: 50vh;
  color: #FFF;
  font-weight: 500;
  position: relative;
}
.functionblock__itemttl::before, .functionblock__itemttl::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 1rem;
  height: 1rem;
  top: 50%;
  transform: translateY(-50%);
}
.functionblock__itemttl::before {
  background: url(../img/service-lp/burst-small-wh.png) no-repeat top left/cover;
  left: 2rem;
}
.functionblock__itemttl::after {
  background: url(../img/service-lp/burst-small02-wh.png) no-repeat top left/cover;
  right: 2rem;
}
.functionblock__caption {
  text-align: center;
  color: #DC0012;
}
.functionblock__detailList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  flex-direction: row;
  gap: 0.5em 1em;
}
.functionblock__detailitem {
  width: calc(50% - 0.5em);
  padding: 2rem 1rem 1rem;
  background: #DC0012;
  color: #FFF;
  border-radius: 0.56rem;
  position: relative;
}
.functionblock__detailitem::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 3.11rem;
  height: 1.55rem;
  background: url(../img/service-lp/img_point.png) no-repeat top left/cover;
  top: 0.5rem;
  left: -3px;
}

/* intvblock ==================== */
.intvblock {
  margin-top: 4.17rem;
}
.intvblock__ttl {
  text-align: center;
  color: #DC0012;
  font-weight: 500;
  font-size: 1.43rem;
  padding-top: 1.8rem;
  padding-bottom: 2.9rem;
  margin-bottom: 1.39rem;
  position: relative;
}
.intvblock__ttl::before, .intvblock__ttl::after {
  content: "";
  display: inline-block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.intvblock__ttl::before {
  width: 6.67rem;
  height: 1.52rem;
  background: url(../img/service-lp/burst-red.png) no-repeat top left/cover;
  top: 0;
}
.intvblock__ttl::after {
  width: 27.78rem;
  max-width: 100%;
  height: auto;
  aspect-ratio: 1389/172;
  background: url(../img/service-lp/baloon-red.png) no-repeat top left/cover;
  bottom: 0;
}
.intvblock__logoimg {
  border-radius: 0.56rem;
  margin: 0 auto 1.39rem;
  padding: 1.5em 2.5%;
  max-width: 860px;
  background: #FFF;
}
.intvblock__logoimg img {
  max-width: 100%;
  width: auto;
}
.intvblock__item {
  padding: 1em;
  border: solid 3px #DC0012;
  background: #FFF;
  border-radius: 0.56rem;
  box-shadow: 3px 3px 0 #DC0012;
}
.intvblock__item:nth-child(n+2) {
  margin-top: 2.78rem;
}
.intvblock__itemttl {
  margin-bottom: 0.5em;
}
.intvblock__photo {
  width: 65%;
  margin: 0 auto 1.39rem;
}
.intvblock__detailList {
  margin-bottom: 1.39rem;
}
.intvblock__detailitem {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  font-size: 0.86rem;
  gap: 0.5em;
  line-height: 1;
}
.intvblock__detailitem:nth-of-type(n+2) {
  margin-top: 0.5em;
}
.intvblock__detailLabel {
  background: #B9B9B9;
  text-align: center;
  padding: 0.5em 1em;
  border-radius: 50vh;
}
.intvblock__voicettl {
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 0.5em;
}
.intvblock__voicettl02 {
  font-weight: 700;
  padding-bottom: 0.5rem;
  margin-top: 0.75em;
  margin-bottom: 0.5em;
  position: relative;
}
.intvblock__voicettl02::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 7.22rem;
  height: 0.44rem;
  background: url(../img/service-lp/line_pin.png) no-repeat top left/cover;
  bottom: 0;
  left: 0;
}

/* feeblock ==================== */
.feeblock {
  background: #DC0012;
  padding: 1.39rem 0;
  margin-top: 5.56rem;
  margin-bottom: 5.56rem;
  position: relative;
  color: #FFF;
  text-align: center;
}
.feeblock::before, .feeblock::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: auto;
  aspect-ratio: 720/41;
  left: 0;
  transform: scale(-1, 1);
}
.feeblock::before {
  background: url(../img/service-lp/bg_wave-before.png) no-repeat top left/cover;
  bottom: 100%;
}
.feeblock::after {
  background: url(../img/service-lp/bg_wave-after.png) no-repeat top left/cover;
  top: 100%;
}
.feeblock__ttl {
  text-align: center;
  color: #FFF;
  font-weight: 500;
  font-size: 1.43rem;
  padding-top: 1.8rem;
  padding-bottom: 2.9rem;
  margin-bottom: 1.39rem;
  position: relative;
}
.feeblock__ttl img {
  width: 5rem;
  margin: 0 auto 0.5em;
}
.feeblock__ttl::before, .feeblock__ttl::after {
  content: "";
  display: inline-block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.feeblock__ttl::before {
  width: 6.67rem;
  height: 1.52rem;
  background: url(../img/service-lp/burst-wh.png) no-repeat top left/cover;
  top: 0;
}
.feeblock__ttl::after {
  width: 27.78rem;
  max-width: 100%;
  height: auto;
  aspect-ratio: 1389/172;
  background: url(../img/service-lp/baloon-wh.png) no-repeat top left/cover;
  bottom: 0;
}
.feeblock__subttl {
  margin: 1em 0;
}
.feeblock__btn {
  width: 25.89rem;
  max-width: 95%;
  margin: 0 auto;
}
.feeblock__btn a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  text-align: center;
  background: #FFF;
  color: #DC0012;
  width: 100%;
  height: 4em;
  line-height: 1;
  font-weight: 500;
  border-radius: 50vh;
  position: relative;
}
.feeblock__btn a::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: calc(100% - 12px);
  height: calc(100% - 12px);
  border: solid 1px #DC0012;
  border-radius: 50vh;
  background: transparent;
  top: 5px;
  left: 5px;
}
.feeblock__image {
  width: 35.78rem;
  max-width: 65%;
  margin: 2.78rem auto 0;
}

/* faqblock ==================== */
.faqblock__inner {
  background: #FFF;
  padding: 2.78rem 5%;
  border-radius: 0.56rem;
  box-shadow: 6px 6px 0 #DC0012;
}
.faqblock__ttl {
  text-align: center;
  color: #DC0012;
  font-weight: 500;
  font-size: 1.43rem;
  padding-top: 1.8rem;
  padding-bottom: 2.9rem;
  margin-bottom: 1.39rem;
  position: relative;
}
.faqblock__ttl::before, .faqblock__ttl::after {
  content: "";
  display: inline-block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.faqblock__ttl::before {
  width: 6.67rem;
  height: 1.52rem;
  background: url(../img/service-lp/burst-red.png) no-repeat top left/cover;
  top: 0;
}
.faqblock__ttl::after {
  width: 27.78rem;
  max-width: 100%;
  height: auto;
  aspect-ratio: 1389/172;
  background: url(../img/service-lp/baloon-red.png) no-repeat top left/cover;
  bottom: 0;
}
.faqblock__subttl {
  font-weight: 500;
  color: #DC0012;
  margin-top: 1em;
}
.faqblock__faqitem {
  padding: 1em;
  border-bottom: dashed 1px #DC0012;
}
.faqblock__question {
  font-weight: 500;
  position: relative;
  padding-right: 2em;
  cursor: pointer;
}
.faqblock__question::before {
  content: "Q.";
  color: #DC0012;
  font-size: 1.25em;
  margin-right: 0.5em;
}
.faqblock__question::after {
  content: "＋";
  color: #DC0012;
  font-size: 2em;
  line-height: 1;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.faqblock__question.is-open::after {
  content: "−";
}
.faqblock__answer::before {
  content: "A.";
  color: #DC0012;
  font-weight: 500;
  font-size: 1.25em;
  margin-right: 0.5em;
}

/* form ==================== */
.formblock {
  margin-top: 5.56rem;
  margin-bottom: 5.56rem;
  font-size: 1rem;
}
.formblock__formttl {
  background: #DC0012;
  text-align: center;
  padding: 1em;
  color: #FFF;
  border-top-left-radius: 0.56rem;
  border-top-right-radius: 0.56rem;
  line-height: 1.2;
}
.formblock__formttl h2 {
  font-size: 1.2em;
}
.formblock__formwrap {
  width: 95%;
  max-width: 768px;
  margin: 0 auto;
}
.formblock__inner {
  border-bottom-left-radius: 0.56rem;
  border-bottom-right-radius: 0.56rem;
  padding: 2.78rem 2.5%;
  background: #FFF;
}
.formblock .list-form {
  width: 30em;
  max-width: 100%;
  margin: 0 auto;
}
.formblock .list-form__item {
  margin-bottom: 1.75em;
  position: relative;
}
.formblock .list-form__item .wpcf7-not-valid-tip {
  position: absolute;
  top: calc(100% + 1em);
}

.btnwrap--submit .wpcf7-spinner {
  position: absolute;
  top: 105%;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
}

/* footer ==================== */
.footer {
  background: #DC0012;
  padding: 1.39rem 0 4.17rem;
  margin-top: 6.255rem;
  color: #FFF;
  position: relative;
}
.footer::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: auto;
  aspect-ratio: 720/41;
  background: url(../img/service-lp/bg_wave-before.png) no-repeat top left/cover;
  bottom: 100%;
  left: 0;
}
.footer__info {
  text-align: center;
  margin-bottom: 2.78rem;
}
.footer__logo {
  background: #FFF;
  border-radius: 0.56rem;
  padding: 1rem;
  text-align: center;
  width: 9.78rem;
  margin: 0 auto 2.78rem;
}
.footer__logo img {
  width: 7.78rem;
}
.footer__tel {
  margin-bottom: 2.78rem;
}
.footer__tel img {
  width: 13.44rem;
  margin: 0 auto;
}
.footer__privacylink {
  margin-bottom: 2.78rem;
  font-size: 0.86rem;
}
.footer__privacymark {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 1em;
  font-size: 0.86rem;
  border-radius: 0.56rem;
  background: #FFF;
  padding: 1.5em;
  color: #000000;
}
.footer__privacymark img {
  width: 4rem;
  height: 4rem;
}
.footer__privacytxt {
  width: 19em;
  max-width: calc(100% - 4rem);
}

/* sub page ==================== */
.pagefv__ttlwrap {
  font-size: 1.71rem;
  font-weight: 500;
  padding: 2.5em 2.5%;
}
.pagefv__ttl {
  text-align: center;
}
.pagefv__ttl span {
  display: block;
}
.pagefv__ttl .font-en {
  color: #DC0012;
}

.confirmpage {
  margin-bottom: 11.12rem;
}
.confirmpage .confirmbox {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}
.confirmpage .confirmbox .list-form--contact {
  margin-bottom: 2.78rem;
}
.confirmpage .confirmbox .list-form__item {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  flex-direction: row;
  padding: 1em;
  border-bottom: dotted 1px #B9B9B9;
}
.confirmpage .confirmbox .list-form__label {
  width: 12em;
}
.confirmpage .confirmbox .list-form__data {
  width: calc(100% - 12em);
}
.confirmpage .confirmbox .btnfloatbox {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  flex-direction: row;
  gap: 1em;
}
.confirmpage .confirmbox .btnwrap--return p {
  width: 8em;
  height: 2.5em;
  margin: 0 auto;
  position: relative;
}
.confirmpage .confirmbox .btnwrap--return input {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  width: 100%;
  height: 100%;
  background: #999999;
  color: #FFF;
  text-align: center;
  border-radius: 50vh;
}

.thankspage {
  margin-bottom: 11.12rem;
}
.thankspage .thanksbox {
  border: solid 1px #DC0012;
  border-radius: 0.56rem;
  padding: 2em 2.5%;
  text-align: center;
}
.thankspage .thanksbox__ttl {
  color: #DC0012;
  font-weight: 500;
  font-size: 1.2em;
  margin-bottom: 1em;
}
.thankspage .thanksbox__btn {
  width: 15rem;
  margin: 1em auto 0;
}
.thankspage .thanksbox__btn a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  width: 100%;
  height: 3em;
  border-radius: 50vh;
  background: #999999;
  color: #FFF;
  text-align: center;
}

/* footfix ==================== */
.footfix {
  position: fixed;
  z-index: 99;
  visibility: hidden;
  opacity: 0;
  transition: all 0.3s ease;
}
.footfix a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  color: #FFF;
  font-weight: 500;
  line-height: 1;
}
.footfix__btn--catalog {
  background: #004D97;
}
.footfix__btn--contact {
  background: #DC0012;
}
.footfix.is-show {
  visibility: visible;
  opacity: 1;
}

/*/////////////////////////////////////////////////////////// 

 Media Query - Extra Small（〜576px） 

///////////////////////////////////////////////////////////*/
@media (max-width: 575.8px) {
  /* header ==================== */
  .header__tel a {
    display: block;
  }
  .header__tel a img {
    border: solid 1px #DC0012;
    padding: 0.25em 0.5em;
    border-radius: 0.5em;
  }
  .header__bizhour {
    display: block;
    font-size: 0.8rem;
    text-align: center;
    margin-top: 0.5em;
  }
  body.page-template-page-service_lp .header {
    height: 5.5rem;
  }
  /* mvblock ==================== */
  .mvblock + .ex-line {
    margin-top: 2rem;
  }
  .mvblock__mainlist img {
    max-width: 90%;
    margin: 0 auto;
  }
  .mvblock__catch {
    font-size: 1.2em !important;
  }
  .mvblock__ttlbox {
    padding: 2.5em 0 1.25em !important;
    margin: 0.5em auto 0 !important;
  }
  /* footfix ==================== */
  .footfix {
    width: 100%;
    height: 4rem;
    left: 0;
    bottom: 0;
    -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
  }
  .footfix__inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    gap: 2.5%;
    width: 100%;
    height: 100%;
  }
  .footfix__inner a {
    width: 42.5%;
    max-width: 15rem;
    border: solid 1px #FFF;
    border-radius: 50vh;
    height: 2.8em;
  }
}
/*/////////////////////////////////////////////////////////// 

 Media Query - Small（576px〜） 

///////////////////////////////////////////////////////////*/
@media (min-width: 575.9px) {
  /* footfix ==================== */
  .footfix {
    right: 0;
    bottom: 3rem;
  }
  .footfix__inner a {
    border-top-left-radius: 0.56rem;
    border-bottom-left-radius: 0.56rem;
    border: solid 1px #FFF;
    border-right: none;
    font-size: 0.86rem;
    writing-mode: vertical-rl;
    width: 4em;
    height: 10em;
    transform: translateX(1em);
    padding-right: 1em;
    transition: transform 0.3s ease-in-out;
  }
  .footfix__inner a:hover {
    transform: translateX(0);
    opacity: 1;
  }
  .footfix__inner a.footfix__btn--contact {
    margin-top: 0.5rem;
  }
}
/*/////////////////////////////////////////////////////////// 

 Media Query - Medium（768px〜） 

///////////////////////////////////////////////////////////*/
@media (min-width: 767.8px) {
  /* mainview ==================== */
  .mvblock {
    background: url(../img/service-lp/bg_mainview-pc.png) no-repeat top center/cover;
    padding-top: 6rem;
  }
  .mvblock__empty {
    position: relative;
    z-index: 9;
    width: 100%;
    height: auto;
    aspect-ratio: 16000/909;
    background: url(../img/service-lp/img_mv-after.png) no-repeat left bottom/cover;
    transform: translateY(0.5px);
  }
  .mvblock__main {
    width: calc(97.5% - 27.2rem);
    margin-top: 3%;
  }
  .mvblock__inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: row;
    padding-top: 5rem;
  }
  .mvblock__form {
    margin: 0;
  }
  /* problemblock ==================== */
  .problemblock__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    flex-direction: row;
    gap: 2.5%;
  }
  .problemblock__item {
    width: 28%;
    margin: 0 !important;
  }
  .problemblock__item > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
    height: auto;
    text-align: center;
    max-width: initial;
    padding: 1em;
    background: #FFF;
  }
  .problemblock__item img {
    width: 8rem;
    max-width: 165px;
    height: auto;
    margin: 0 auto;
  }
  .problemblock__itemimg {
    display: block !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    aspect-ratio: auto !important;
  }
  .problemblock__before {
    border: solid 3px #999999;
    border-radius: 0.56rem;
    box-shadow: 3px 3px 0 #999999;
  }
  .problemblock__after {
    border: solid 3px #DC0012;
    border-radius: 0.56rem;
    box-shadow: 3px 3px 0 #DC0012;
    position: relative;
    margin-top: 5rem;
  }
  .problemblock__after::before {
    content: "";
    display: inline-block;
    width: 5rem;
    height: 2.5rem;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    background: #DC0012;
    position: absolute;
    top: -3.5rem;
    left: 50%;
    transform: translateX(-50%);
  }
  .problemblock__after .problemblock__itemimg::before {
    content: none;
  }
  /* meritblock ==================== */
  .meritblock {
    margin-top: 6.81rem;
  }
  .meritblock__listitem {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    flex-direction: row;
    gap: 5%;
  }
  .meritblock__photo {
    width: 17.22rem;
    margin: 0;
  }
  .meritblock__txtbox {
    width: calc(95% - 17.22rem);
  }
  /* functionblock ==================== */
  .functionblock {
    margin-top: 11.12rem;
    margin-bottom: 11.12rem;
    padding: 4.17rem 0;
  }
  /* intvblock ==================== */
  .intvblock {
    margin-top: 8.34rem;
    margin-bottom: 13.9rem;
  }
  .intvblock__item {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
    gap: 2.5%;
  }
  .intvblock__photo {
    width: 22.56rem;
    margin: 0;
  }
  .intvblock__txtbox {
    width: calc(97.5% - 22.56rem);
  }
  .intvblock__detailList {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    flex-direction: row;
    gap: 0.5em;
  }
  .intvblock__detailitem {
    margin-top: 0 !important;
  }
  /* feeblock ==================== */
  .feeblock {
    margin-top: 8.34rem;
    margin-bottom: 11.12rem;
  }
  .feeblock__image {
    transform: translateY(4rem);
    margin-top: -1.2rem;
    position: relative;
    z-index: 9;
  }
  /* faqblock ==================== */
  .faqblock {
    margin-top: 6.672rem;
  }
  /* form ==================== */
  .formblock {
    margin-bottom: 11.12rem;
  }
  .formblock .list-form {
    width: 24em;
  }
  .formblock .list-form__item.col2 {
    display: inline-block;
    width: 49%;
  }
  .formblock .list-form__label {
    width: 9em;
  }
  .formblock .list-form__data {
    width: 100%;
  }
  /* footer ==================== */
  .footer__inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    flex-direction: row;
  }
  .footer__info {
    text-align: left;
    margin-bottom: 0;
  }
  .footer__logo {
    margin: 0 0 2.78rem 0;
  }
  .footer__tel img {
    margin: 0;
  }
}
/*/////////////////////////////////////////////////////////// 

 Media Query - Large（980px〜） 

///////////////////////////////////////////////////////////*/
@media (min-width: 980px) {
  /* ctablock ==================== */
  .ctablock__btnwrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: flex-start;
    flex-direction: row;
  }
  .ctablock__btnwrap > div {
    margin: 0;
  }
  .ctablock::after {
    content: "";
    display: inline-block;
    position: absolute;
    aspect-ratio: 743/408;
    width: 17.6rem;
    height: auto;
    background: url(../img/service-lp/img_cta_device.png) no-repeat top left/cover;
    z-index: 9;
    left: 0rem;
    bottom: -2rem;
  }
  /* problemblock ==================== */
  .problemblock__item > div {
    padding: 0;
    aspect-ratio: 1/1;
  }
}
/*/////////////////////////////////////////////////////////// 

 Media Query - 1060px 

///////////////////////////////////////////////////////////*/
@media screen and (min-width: 1060px) {
  /* function ==================== */
  .functionblock__caption {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    min-height: 4em;
  }
  .functionblock__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    flex-direction: row;
    gap: 1.39rem 2.5%;
  }
  .functionblock__item {
    width: 47.5%;
    margin-top: 0 !important;
  }
}
/*/////////////////////////////////////////////////////////// 

 Media Query - Extra Large（1180px〜） 

///////////////////////////////////////////////////////////*/
@media (min-width: 1180px) {
  /* ctablock ==================== */
  .ctablock::after {
    width: 20.6rem;
    left: -6rem;
    bottom: -2rem;
  }
  /* function ==================== */
  .functionblock__caption {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    min-height: 4em;
  }
}
/*/////////////////////////////////////////////////////////// 

 Wordpress logged in

///////////////////////////////////////////////////////////*/
@media screen and (max-width: 782px) {
  #wpadminbar {
    display: none !important;
  }
  html {
    margin-top: 0 !important;
  }
  body {
    margin-top: 0 !important;
  }
}