@charset "UTF-8";
.bg-fv {
  background-size: cover;
  background-position: 30% 50%;
  background-repeat: no-repeat;
  height: 370px;
  z-index: 0;
  background-image: url(../../assets/img/bg-fv.png);
}

@supports (background-image: url(../../assets/img/bg-fv.webp)) {
  .bg-fv {
    background-image: url(../../assets/img/bg-fv.webp);
  }
}
@media screen and (min-width: 768px) {
  .bg-fv {
    height: 400px;
  }
  .fv-img::before {
    content: "";
    position: absolute;
    bottom: -20px;
    left: 0;
    width: 100%;
    height: 190px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 0% 50%;
    background-image: url(../../assets/img/fv-img.png);
  }
  @supports (background-image: url(../../assets/img/fv-img.webp)) {
    .fv-img::before {
      background-image: url(../../assets/img/fv-img.webp);
    }
  }
}
.fv-main {
  max-height: 230px;
}

.pt-100 {
  padding-top: 100px;
}

/*位置*/
.top-50 {
  top: 50px !important;
}

.top-n5 {
  top: -5px;
}

.top-n10 {
  top: -10px;
}

.top-n15 {
  top: -15px;
}

.top-n20 {
  top: -20px;
}

.bottom-5 {
  bottom: 5px !important;
}

.bottom-10 {
  bottom: 10px !important;
}

.bottom-n15 {
  bottom: -15px !important;
}

.start-5 {
  left: 5% !important;
}

.end-5 {
  right: 5% !important;
}

@media screen and (min-width: 576px) {
  .bottom-sm-30 {
    bottom: 30px !important;
  }
}
@media screen and (min-width: 768px) {
  .top-md-n25 {
    top: -25px;
  }
  .bottom-md-n40 {
    bottom: -40px !important;
  }
  .text-md-end {
    text-align: right !important;
  }
}
/*高さ*/
.h-150 {
  height: 150px;
}

@media screen and (min-width: 768px) {
  .h-md-60 {
    height: 60px;
  }
  .h-md-70 {
    height: 70px;
  }
  .h-md-100 {
    height: 100px;
  }
  .lh-md-100 {
    line-height: 100%;
  }
}
/*幅*/
.w-135 {
  width: 135px;
}

.w-220 {
  width: 220px;
}

.w70-50 {
  width: 70%;
}

.w100-80 {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .w70-50 {
    width: 50%;
  }
}
/*ボーダー*/
.border-dotto {
  border-bottom: 2px dotted #222222;
}

.border-color-red {
  border-color: #E70011 !important;
}

.rounded-end-pill {
  border-radius: 0 50px 50px 0;
}

/*シャドウ*/
/*ボックス*/
.box-parent {
  box-sizing: border-box;
}

.box-child {
  flex-direction: column;
}

.box-child-text {
  flex-grow: 1;
} /*※この親のdisplay:flex;を指定する*/
/*画像*/
@media screen and (min-width: 768px) {
  .img-power-saving {
    width: 75%;
    margin: 0 auto;
  }
}
/* 背景 */
.bg-point, .bg-dotto, .bg-faq, .bg-wave-gray, .bg-town {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  z-index: 0;
}

.bg-point {
  background-image: url(../../assets/img/bg-point.png);
}

@supports (background-image: url(../../assets/img/bg-point.webp)) {
  .bg-point {
    background-image: url(../../assets/img/bg-point.webp);
  }
}
.bg-faq {
  background-image: url(../../assets/img/bg-point.png);
}

@supports (background-image: url(../../assets/img/bg-faq.webp)) {
  .bg-faq {
    background-image: url(../../assets/img/bg-faq.webp);
  }
}
.bg-wave-gray {
  background-image: url(../../assets/img/bg-wave-gray.png);
}

@supports (background-image: url(../../assets/img/bg-wave-gray.webp)) {
  .bg-wave-gray {
    background-image: url(../../assets/img/bg-wave-gray.webp);
  }
}
.bg-town {
  background-image: url(../../assets/img/bg-town.png);
}

@supports (background-image: url(../../assets/img/bg-town.webp)) {
  .bg_town {
    background-image: url(../../assets/img/bg-town.webp);
  }
}
.bg-dotto {
  background-repeat: repeat-x;
  background-size: 135% auto;
  background-position: 0% 0%;
  background-image: url(../../assets/img/bg-dotto.png);
}

@supports (background-image: url(../../assets/img/bg-dotto.webp)) {
  .bg-dotto {
    background-image: url(../../assets/img/bg-dotto.webp);
  }
}
@media screen and (min-width: 768px) {
  .bg-power-saving {
    z-index: 0;
    background-size: 45% auto;
    background-position: 100% 5%;
    background-repeat: no-repeat;
    background-image: url(../../assets/img/bg-power-saving.png);
  }
  @supports (background-image: url(../../assets/img/bg-power-saving.webp)) {
    .bg-power-saving {
      background-image: url(../../assets/img/bg-power-saving.webp);
    }
  }
}
/*装飾*/
.bg-triangle::after, .bottom-arrow-black::after {
  content: "";
  position: absolute;
  top: 80%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-block;
  background-position: 50% 0%;
  background-repeat: no-repeat;
  background-size: 50% auto;
  width: 278px;
  height: 108px;
  background-image: url(../../assets/img/icon-triangle.svg);
  z-index: 0;
}

.bottom-arrow-black::after {
  width: 114px;
  height: 70px;
  top: 127%;
  background-image: url(../../assets/img/icon-yellow-triangle.svg);
}

.bottom-triangle::after {
  content: "";
  position: absolute;
  bottom: -28px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 40px solid transparent;
  border-left: 40px solid transparent;
  border-top: 30px solid #E70011;
  border-bottom: 0;
}

.bottom-arrow-yellow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: inline-block;
  background-position: 5% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 100px;
  background-image: url(../../assets/img/bottom-arrow-yellow.svg);
}

.img-contact::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 3%;
  transform: translateY(-50%);
  display: inline-block;
  background-position: 0% 50%;
  background-repeat: no-repeat;
  background-size: 40% auto;
  width: 194px;
  height: 127px;
  background-image: url(../../assets/img/img-free.svg);
}

.subsidy-img::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: inline-block;
  background-position: 100% 50%;
  background-repeat: no-repeat;
  background-size: 30% auto;
  width: 740px;
  height: 437px;
  z-index: 0;
  background-image: url(../../assets/img/img-subsidy.png);
}

@supports (background-image: url(../../assets/img/img-subsidy.webp)) {
  .subsidy-img::before {
    background-image: url(../../assets/img/img-subsidy.webp);
  }
}
.bottom-arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 45px;
  transform: translateY(-50%);
  display: inline-block;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  width: 60px;
  height: 48px;
  z-index: 0;
  background-image: url(../../assets/img/bottom-arrow.svg);
}

.day-text {
  bottom: -20px;
  right: -150px;
  transform: translate(-50%, -50%);
}

.voice-text {
  font-size: 13px;
  line-height: 110%;
}

.name-text {
  display: inline-block;
  right: 0;
  top: 50%;
}

.text-white-shadow {
  text-shadow: rgb(255, 255, 255) 5px 0px 0px, rgb(255, 255, 255) 4.90033px 0.993347px 0px, rgb(255, 255, 255) 4.60531px 1.94709px 0px, rgb(255, 255, 255) 4.12668px 2.82321px 0px, rgb(255, 255, 255) 3.48353px 3.58678px 0px, rgb(255, 255, 255) 2.70151px 4.20736px 0px, rgb(255, 255, 255) 1.81179px 4.6602px 0px, rgb(255, 255, 255) 0.849836px 4.92725px 0px, rgb(255, 255, 255) -0.145998px 4.99787px 0px, rgb(255, 255, 255) -1.13601px 4.86924px 0px, rgb(255, 255, 255) -2.08073px 4.54649px 0px, rgb(255, 255, 255) -2.94251px 4.04248px 0px, rgb(255, 255, 255) -3.68697px 3.37732px 0px, rgb(255, 255, 255) -4.28444px 2.57751px 0px, rgb(255, 255, 255) -4.71111px 1.67494px 0px, rgb(255, 255, 255) -4.94996px 0.7056px 0px, rgb(255, 255, 255) -4.99147px -0.291871px 0px, rgb(255, 255, 255) -4.83399px -1.27771px 0px, rgb(255, 255, 255) -4.48379px -2.2126px 0px, rgb(255, 255, 255) -3.95484px -3.05929px 0px, rgb(255, 255, 255) -3.26822px -3.78401px 0px, rgb(255, 255, 255) -2.4513px -4.35788px 0px, rgb(255, 255, 255) -1.53666px -4.75801px 0px, rgb(255, 255, 255) -0.560763px -4.96845px 0px, rgb(255, 255, 255) 0.437495px -4.98082px 0px, rgb(255, 255, 255) 1.41831px -4.79462px 0px, rgb(255, 255, 255) 2.34258px -4.41727px 0px, rgb(255, 255, 255) 3.17346px -3.86382px 0px, rgb(255, 255, 255) 3.87783px -3.15633px 0px, rgb(255, 255, 255) 4.4276px -2.32301px 0px, rgb(255, 255, 255) 4.80085px -1.39708px 0px, rgb(255, 255, 255) 4.98271px -0.415447px 0px;
}

.img-hurry {
  width: 80%;
  bottom: -50px;
}

@media screen and (min-width: 576px) {
  .subsidy-img::before {
    background-size: 40% auto;
  }
  .img-contact::before {
    left: 8%;
    background-size: 50% auto;
  }
  .day-text {
    right: -170px;
  }
  .img-hurry {
    width: 60%;
    bottom: -90px;
    left: -130px;
  }
  .voice-text {
    font-size: 14px;
    position: absolute !important;
  }
  .bottom-arrow-black::after {
    top: 141%;
  }
}
@media screen and (min-width: 768px) {
  .subsidy-img::before {
    background-size: 55% auto;
  }
  .img-contact::before {
    left: 15%;
    background-size: 60% auto;
    top: 25px;
  }
  .day-text {
    right: -180px;
  }
  .bottom-arrow-black::after {
    top: 132%;
  }
}
/*CTA*/
.cta-icon::after {
  content: "";
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 15px solid transparent;
  border-left: 15px solid transparent;
  border-top: 15px solid #222222;
  border-bottom: 0;
}
.cta-icon span {
  width: 90%;
  display: block;
  margin: 0 auto;
}

/*コンタクトフォーム*/
.radioItem {
  display: inline-flex;
  align-items: center;
  -moz-column-gap: 8px;
       column-gap: 8px;
  line-height: 1;
  cursor: pointer;
}

.radioItem:not(:last-of-type) {
  margin-right: 20px;
}

.radioButton {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  width: 16px;
  height: 16px;
  border: 1px solid #707070;
  border-radius: 9999px;
  background-color: #ffffff;
  cursor: pointer;
}

.radioButton:checked {
  background-color: transparent;
}

.radioButton:checked::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 12px;
  height: 12px;
  margin: auto;
  border-radius: 9999px;
  background-color: #cccccc;
}

.select-box {
  height: 35px;
  border-color: #dee2e6;
  border-radius: 5px;
}

/* アコーディオン用 */
#faq .accordion_title {
  display: flex;
  position: relative;
}

#faq .accordion-button::before {
  content: "";
  display: block;
  width: 24px;
  height: 3px;
  background-color: #222;
  position: absolute;
  right: 4%;
  top: 50%;
  transform: rotate(0deg);
  z-index: 999;
}

#faq .accordion-button::after {
  content: "";
  display: block;
  width: 24px;
  height: 3px;
  background-color: #222;
  position: absolute;
  right: 4%;
  top: 50%;
  transform: rotate(90deg);
  transition: 0.5s;
}

#faq .accordion_title:hover {
  cursor: pointer;
}

#faq .accordion-button:not(.collapsed)::after {
  transform: rotate(0deg);
}/*# sourceMappingURL=style.css.map */