@charset "UTF-8";

.waterheater {
  font-family: "Noto Sans JP", Roboto, "Noto Sans", sans-serif;
  color: #3A3A3A;
}

.waterheater button,
.waterheater a,
.waterheater .formarea__btn,
.waterheater button {
  cursor: pointer;
}

.waterheater button {
  padding: 0;
  border: none;
  background: none;
}

.waterheater .wrap__sp {
  max-width: 450px;
  margin: 0 auto;
  background: #fff;
}

@media screen and (min-width: 451px) {
  .waterheater .wrap__sp {
    border-radius: 30px;
    border: 2px solid #005e8e;
    box-shadow: 0px 16px 24px 0px rgba(61, 61, 61, 0.25);
  }
}

.waterheater .wrap__pc {
  width: 100%;
  position: relative;
}

@media screen and (min-width: 451px) {
  .waterheater .wrap__pc {
    padding: 40px 0 0;
  }

  .waterheater .wrap__pc::before {
    content: "";
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100vh;
    background: url(../img/bg_pc.jpg) no-repeat center/cover;
  }
}

.waterheater .header__inner {
  display: flex;
  justify-content: space-between;
  padding: 11px 15px;
  position: relative;
}

.waterheater .header__inner a {
  display: block;
}

@media screen and (max-width: 320px) {
  .waterheater .header__inner {
    padding: 11px 4%;
  }
}

.waterheater .header__logo--company {
  font-size: 18px;
  font-weight: 700;
}

@media screen and (max-width: 320px) {
  .waterheater .header__logo--company {
    font-size: 14px;
  }
}

.waterheater .header__logo--store {
  display: flex;
  gap: 2px;
  font-size: 14px;
}

.waterheater .header__logo--store img {
  display: block;
  max-width: 100px;
  max-height: 24px;
}

.waterheater .header__logo--store span {
  flex: 1;
  display: block;
}


.waterheater .header__address {
  width: 50%;
  position: absolute;
  top: 11px;
  right: 15px;
  text-align: right;
  font-weight: 500;
  line-height: 1em;
}

.waterheater .header__address p {
  font-size: 10px;
}

@media screen and (max-width: 320px) {
  .waterheater .header__address {
    right: 4%;
  }
}

.waterheater .header__address--tel {
  padding: 0 0 0 18px;
  display: inline-block;
  background-color: unset;
  background-image: url(../img/icon_tel.svg);
  background-repeat: no-repeat;
  background-size: 14px;
  background-position: 0 center;
  font-family: Roboto;
  font-size: 18px;
  font-weight: 700;
  line-height: 1em;
  border: none;
  color: #EB6120;
  position: relative;
}

/* ------------------------------------------------------------------------------------------
  共通ヶ所・素材
------------------------------------------------------------------------------------------ */
p {
  font-size: 17px;
}

i {
  font-size: 14px;
}

u {
  font-size: 19px;
  text-decoration: none;
  text-align: justify;
}

u span {
  font-size: 120%;
  font-weight: bold;
}

small {
  font-size: 10px;
}

h2 {
  font-size: 33px;
  color: #009c78;
}

.modal__container h2 {
  color: #3A3A3A;
}

h2 em {
  font-size: 72%;
  font-style: normal;
  color: #000;
}

h4 {
  font-size: 20px;
  font-weight: 500;
}

h5 {
  font-size: 20px;
  font-weight: bold;
  overflow: hidden;
  margin: 0 auto;
}

dt {
  font-size: 21px;
  font-weight: bold;
  overflow: hidden;
  margin: 0 auto;
}

dd {
  font-size: 14px;
}

.heading {
  text-align: center;
  font-weight: bold;
}

.heading p {
  font-size: calc(17px + 4px);
  font-style: normal;
}

.heading p .step1 {
  width: auto;
  font-size: 80%;
  color: #009c78;
  background-color: #ffffc6;
  padding: 1% 0% 1% 2%;
  font-style: normal;
  margin-right: 3%;
}

.heading span {
  width: 31%;
  margin: 0 auto;
  display: inline-block;
}

h3 {
  font-size: 23px;
  text-align: center;
}

.sec__inner {
  width: calc(100% - 20px);
  padding: 10% 0;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: min(5vw, 20px);
}

.sec__inner2 {
  width: calc(100% - 20px);
  padding: 10% 0 5%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: min(5vw, 20px);
}

.sec__inner3 {
  width: calc(100% - 20px);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: min(3vw, 10px);
}

.pattern {
  background-image:
    linear-gradient(0deg, rgba(190, 200, 206, 0.3) 1px, rgba(0, 0, 0, 0) 0),
    linear-gradient(90deg, rgba(190, 200, 206, 0.3) 1px, rgba(0, 0, 0, 0) 0);
  background-size: 20px 20px;
  background-position: center;
}

.font__bold {
  font-weight: 900;
}

@media screen and (max-width: 450px) {
  p {
    font-size: 4vw;
  }

  i {
    font-size: 3vw;
  }

  u {
    font-size: 4.2vw;
  }


  small {
    font-size: 2.5vw;
  }

  h2 {
    font-size: 7.2vw;
    line-height: 1;
  }

  .heading p {
    font-size: calc(4vw + 0.6vw);
    margin-bottom: 2%;
  }

  h3 {
    font-size: 5vw;
  }

  h4 {
    font-size: 4.2vw;
  }

  h5 {
    font-size: 4.2vw;
  }

  dt {
    font-size: 5vw;
  }

  dd {
    font-size: 3.2vw;
  }

  .heading i {
    font-size: 5vw;
  }

  .pattern {
    background-size: 4vw 4vw;
  }
}



/* ------------------------------------------------------------------------------------------
  MV
------------------------------------------------------------------------------------------ */
.waterheater .mv {
  position: relative;
  background-image: url(../img/bg_mv.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: 100%;
  aspect-ratio: 375/596;
  margin: 0 auto;
}

.waterheater .mv__ttl {
  margin: 0 auto;
  position: absolute;
  bottom: 40%;
  width: 85%;
  z-index: 1;
}

.waterheater .mv__president {
  position: absolute;
  bottom: 33%;
  right: 0%;
  z-index: 0;
  width: 28%;
}

/* ------------------------------------------------------------------------------------------
  CTA ボタン
------------------------------------------------------------------------------------------ */

.speed {
  position: relative;
}

.speedset {
  position: relative;
}

.speed h2 .speedset h2 {
  font-size: calc(33px - 10px)
}

.cta_btn {
  width: 100%;
  bottom: 0%;
  display: flex;
  justify-content: space-between;
  gap: 3%;
  z-index: 0;
}

.cta_btn2 {
  width: 100%;
  bottom: 0%;
  display: flex;
  justify-content: space-between;
  gap: 3%;
  z-index: 0;
  margin: 0 auto;
}

.reason2 {
  position: relative;
}


.reason3 {
  position: relative;
  background-image: url(../img/img_reason_gb.jpg);
  /* 背景画像指定 */
  background-repeat: no-repeat;
  /* 背景の繰り返し設定 */
  background-position: right center;
  background-size: cover;
  aspect-ratio: 1 / 0.725;
  padding: 3% 0;
}

.reason3 p {
  font-size: 16px;
  color: #fff;
  text-align: center;
}

.reason3 p span {
  font-size: 120%;
  font-weight: 500;
}

@media screen and (max-width: 450px) {
  .speed h2 .speedset h2 {
    font-size: calc(7.2vw - 2.2vw)
  }

  .reason3 p {
    font-size: 3.5vw;
  }
}

/* ------------------------------------------------------------------------------------------
  交換する合図です
------------------------------------------------------------------------------------------ */
.exsign {
  position: relative;
  background-image: url(../img/exsign_bg.jpg);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: cover;
  padding: 7% 0 0%;
}

.exsign dl {
  text-align: center;
  flex-direction: column;
  gap: min(5vw, 10px);
}

.exsign dd {
  font-size: 26px;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  text-shadow: 0px 0px 3px #fff, 0px 0px 5px #fff, 0px 0px 5px #fff;
}


.exsign dl dt div {
  position: relative;
  width: 80%;
  overflow: hidden;
  right: 0;
  left: 0;
  margin: 0 auto 2%;
  text-shadow: 0px 0px 3px #fff, 0px 0px 5px #fff, 0px 0px 5px #fff;
}

.exsign dl dt div:before {
  position: absolute;
  content: "";
  background-image: url(../img/wai_1.png);
  display: inline-block;
  background-size: cover;
  background-repeat: no-repeat;
  width: 21px;
  height: 32px;
  bottom: 0;
  left: 0;
}

.exsign dl dt div:after {
  position: absolute;
  content: "";
  background-image: url(../img/wai_2.png);
  display: inline-block;
  background-size: cover;
  background-repeat: no-repeat;
  width: 21px;
  height: 32px;
  bottom: 0;
  right: 0;
}

.exsign dd span {
  color: #fee650;
  background-color: #d90b18;
  box-shadow: 0 0 5px 2px rgb(255, 255, 255);
  text-shadow: none;
  padding: 5px 10px;
  overflow: hidden;
  display: block;
  margin-right: 2%;
}

@media screen and (max-width: 450px) {

  .exsign dd {
    font-size: 6vw;
  }

  .exsign dd span {
    padding: 3px 1%;
  }

  .exsign dl dt div:before {

    width: 6vw;
    height: 4vh;
  }

  .exsign dl dt div:after {
    width: 6vw;
    height: 4vh;
  }
}

/* ------------------------------------------------------------------------------------------
  スピード対応
------------------------------------------------------------------------------------------ */
.speedset {
  position: relative;
  background-image: url(../img/bg_speed.jpg);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: cover;
  margin-top: 7%;
}

.speed {
  position: relative;
  background-image: url(../img/bg_speed2.jpg);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: cover;
}

.speed h2,
.speedset h2 {
  font-size: 23px;
  line-height: normal;
  text-align: center;
  color: #fff;
}

.speed ul,
.speedset ul {
  width: 100%;
  overflow: hidden;
  display: flex;
  justify-content: space-between;
  gap: 3%;
}

.speed ul li,
.speedset ul li {
  position: relative;
  float: left;
  width: 30%;
}

.speed ul li h3,
.speedset ul li h3 {
  font-size: 23px;
  text-align: center;
  color: #fff;
  background-color: #005e8e;
  padding: 0.3vh 0;
  box-sizing: border-box;
}

.speed .speed__arrow,
.speedset .speed__arrow {
  width: 6%;
  margin: 0 auto;
  display: block;
}

.speed h2 span,
.speedset h2 span {
  font-size: calc(25px + 2.82px);
  color: #fde650;
  font-weight: bold;
}

.speed .photo3,
.speedset .photo3 {
  z-index: 2;
  position: absolute;
  width: 100%;
}

.speed ul li figure,
.speedset ul li figure {
  margin-top: 36px;
}

@media screen and (max-width: 450px) {

  .speed h2,
  .speedset h2 {
    font-size: 5vw;
  }

  .speed ul li h3,
  .speedset ul li h3 {
    font-size: 5vw;
  }

  .speed h2 span,
  .speedset h2 span {
    font-size: calc(5.5vw + 2.82px);
  }

  .speed ul li figure,
  .speedset ul li figure {
    margin-top: 28%;
  }
}



/* ------------------------------------------------------------------------------------------
  新CTA
------------------------------------------------------------------------------------------ */
.cta_otoku {
  background-image: url(../img/cta_pattern.jpg);
  background-repeat: repeat;
  background-size: contain;
  padding: 0 0 10%;
}

.cta__inner {
  position: relative;
  width: calc(100% - 20px);
  margin: 0 auto 5%;
  background-image: url(../img/cta_ime.jpg);
  background-repeat: no-repeat;
  background-position: top;
  background-size: contain;
  background-color: #fff;
  padding: 10% 0 0;
  display: flex;
  flex-direction: column;
  gap: min(3vw, 10px);
  margin-bottom: 7%;
}

.cta__inner:after {
  position: absolute;
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-left: 210px solid transparent;
  border-right: 210px solid transparent;
  border-top: 29px solid #fff;
  top: 100%;
}

.cta__inner2 {
  position: relative;
  width: calc(100% - 20px);
  margin: 0 auto;
  background-repeat: no-repeat;
  background-size: contain;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: min(3vw, 10px);
}

.top_btn {
  width: calc(100% - 20px);
  position: absolute;
  bottom: 0;
  display: flex;
  justify-content: center;
  gap: 3%;
  margin-left: 2%;
  margin-bottom: 7%;
}


.cta__inner li:first-child {
  width: 91%;
  margin: 0 auto;
}

.cta__inner li:nth-child(4) {
  width: 76%;
  margin: 0 auto;
}

.cta__inner li:last-child {
  position: absolute;
  width: 24%;
  bottom: 0;
  right: 0;
  margin-right: -2%;
}

.cta__inner__1 {
  color: #009c78;
}

.cta__inner__2 {
  color: #ffffc6;
  background-color: #009c78;
  padding: 0 0% 0 3%;
  margin-bottom: 3%;
  display: inline-block;
}

.cta__inner li dl {
  text-align: center;
  font-weight: bold;
}

.cta__inner li dd {
  font-size: 18px;
  text-shadow: 0px 0px 3px #fff, 0px 0px 5px #fff, 0px 0px 5px #fff;
}

.cta__inner__check {
  width: 92%;
  padding: 2% 7%;
  margin: 0 auto;
  border: 1px solid #69c7b0;
  overflow: hidden;
  background-color: #fff;
}

.cta__inner__check p {
  padding: 1% 0%;
  color: #009c78;
  float: left;
  width: 50%;
  position: relative;
  padding-left: 1.5rem;
  font-weight: bold;
}


.cta__inner__check p:before {
  position: absolute;
  top: 20%;
  left: 0;
  width: 19px;
  height: 19px;
  content: "";
  background-image: url(../img/check.jpg);
  display: inline-block;
  background-size: cover;
  background-repeat: no-repeat;
}

.cta__inner2 li dl {
  text-align: center;
}

.cta__inner2 li dl dt {
  width: 70%;
  overflow: hidden;
  margin: 0 auto;
  color: #fde650;
  display: flex;
  justify-content: center;
  align-items: center;
}

.cta__inner2 li dl dd {
  width: 80%;
  font-size: 16px;
  overflow: hidden;
  margin: 0 auto;
  color: #fff;
}

.cta__inner2 li dl dd span {
  background-color: #239bd7;
  padding: 1% 3%;
  margin-left: 2%;
}

.cta__inner2 li dl dt:before {
  content: "";
  background-image: url(../img/wai2_1.png);
  display: inline-block;
  background-size: cover;
  background-repeat: no-repeat;
  width: 16px;
  height: 24px;
  bottom: 0;
  left: 0;
}

.cta__inner2 li dl dt:after {
  content: "";
  background-image: url(../img/wai2_2.png);
  display: inline-block;
  background-size: cover;
  background-repeat: no-repeat;
  width: 16px;
  height: 24px;
  bottom: 0;
}

@media screen and (max-width: 450px) {
  .cta__inner li dd {
    font-size: 3.2vw;
  }

  .top_btn {
    width: calc(100% - 4%);
  }


  .cta__inner:after {
    top: 100%;
    box-sizing: border-box;
    border-right: 46vw solid transparent;
    border-left: 46vw solid transparent;
    border-top: 2.5vh solid #fff;
    right: 0;
    left: 0;
    width: auto;
  }

  .cta__inner2 li dl dd {
    font-size: 4vw;
  }
}



/* ------------------------------------------------------------------------------------------
  CTA
------------------------------------------------------------------------------------------ */
.cta {
  position: relative;
}

button:hover {
  opacity: 0.8;
}

.waterheater .float__btn {
  display: flex;
  justify-content: center;
  gap: 3%;
}

.waterheater .float__btn--mail {
  display: block;
  width: 61.4%;
  z-index: 1
}

.waterheater .float__btn--tel {
  display: block;
  width: 35.8%;
  padding: 0;
  background: none;
  border: none;
  z-index: 1;
}

/* ------------------------------------------------------------------------------------------
  選ばれる理由
------------------------------------------------------------------------------------------ */

.reason {
  background-color: #f5fff6;
}

.reason h3 {
  text-align: left;
}

.reason ul {
  padding: 4%;
  border: 1px solid #009c78;
  background-color: #fff;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: min(4vw, 15px);
}

.reason ul li {
  position: relative;
  padding-left: 25px;
  color: #333;
  font-weight: 300;
}

.reason ul li span {
  font-size: 80%;
}

.reason ul li:before {
  position: absolute;
  top: 20%;
  left: 0;
  width: 19px;
  height: 19px;
  content: "";
  background-image: url(../img/check.jpg);
  display: inline-block;
  background-size: cover;
  background-repeat: no-repeat;
}

.reason ul li:nth-child(2):before,
.reason ul li:last-child:before {
  top: 13%;
}

.reason ul li:nth-child(2),
.reason ul li:last-child {
  line-height: 1.5;
}


.uline {
  font-weight: bold;
  width: 94%;
  letter-spacing: -1px;
  border-bottom: 2px solid #009c78;
  padding-bottom: 2px;
  text-align: center;
  margin: 0 auto;
}

.reason h3 {
  font-size: 20px;
  letter-spacing: -1px;
}

.reason .box {
  background-color: #ffffc6;
  padding: 3% 0% 3% 3%;
  background-image: url(../img/illust.png);
  background-repeat: no-repeat;
  background-position: right top;
  background-size: 30% auto;
}

.reason .box p span {
  font-weight: 500;
  font-size: 110%;
}

.textred {
  color: #d90b19;
}

.textgreen {
  color: #009c78;
}

.box__underp {
  text-align: center;
}

.box__underp span {
  font-weight: 700;
}

@media screen and (max-width: 450px) {

  .reason h3 {
    font-size: 4.2vw;
  }

  .reason ul li {
    padding-left: 7%;
  }

  .reason ul li:before {
    width: 14px;
    height: 14px;
  }
}


/* ------------------------------------------------------------------------------------------
  施工実績
------------------------------------------------------------------------------------------ */
.construct .box1 {
  border: 1px solid #009c78;
  background-color: #f5fff6;
  box-sizing: border-box;
}

.construct .box__inner {
  padding: 5% 3% 5%;
}

.construct .box__inner h3 {
  text-align: left;
  margin: 0;
}

.construct .box__inner h3 span {
  font-size: 80%;
  color: #009c78;
  margin-right: 3%;
}

.construct h3 {
  font-size: calc(23px - 3px);
}


@media screen and (max-width: 450px) {
  .construct h3 {
    font-size: calc(5vw - 0.8vw);
  }
}




/* ------------------------------------------------------------------------------------------
  メーカー・製品
------------------------------------------------------------------------------------------ */


.product {
  overflow: hidden;
}

.product__reason ul {
  width: 100%;
}

.product__reason ul li {
  width: 48%;
}

.product__reason .product__reason-logo {
  display: flex;
  justify-content: center;
}

.product__reason {
  border: 1px solid #009c78;
  box-sizing: border-box;
  padding: 8% 5%;
  position: relative;
  background-image: url(../img/bg_hand.png);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: cover;
  /*aspect-ratio: 353 / 504;*/
  display: flex;
  flex-direction: column;
  gap: min(5vw, 20px);
}

.product__reason h3 {
  font-size: calc(23px + 2.82px);
}

.product__reason p:last-child {
  font-weight: 700;
  text-align: center;
  text-shadow: 0px 0px 3px #fff, 0px 0px 5px #fff, 0px 0px 5px #fff;
}

.product__all {
  display: flex;
  flex-direction: column;
  gap: min(5vw, 20px);
}

.product__box {
  position: relative;
  border: 1px solid #dadada;
  background-color: #f5fff6;
  padding: 3%;
  overflow: hidden;

  display: flex;
  flex-direction: column;
  gap: min(5vw, 10px);
}

.product__box .product__family {
  font-size: 14px;
  position: absolute;
  top: 0;
  right: 0;
  color: #fff;
  font-style: normal;
  background-color: #5ebc6e;
  padding: 1% 1% 1% 3%;
}

.product__box__up {
  background-image: url(../img/product.png);
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: 48% auto;
}

.product__box__up.product1 {
  background-image: url(../img/product1.png);
}

.product__box__up.product2 {
  background-image: url(../img/product2.png);
}

.product__box__up.product3 {
  background-image: url(../img/product3.png);
}

.product__box__up.product4 {
  background-image: url(../img/product4.png);
}

.product__box__up.product5 {
  background-image: url(../img/product5.png);
}

.product__box__up span {
  width: 30%;
  display: block;
  margin-bottom: 2%;
}

.product__box__up dt {
  margin-bottom: 2%;
}

.product__box__up .font_q {
  font-size: calc(14px + 2.82px);
}

/* 3Qアップ 1Qアップは0.94px */

.product__box__dw ul {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.product__box__dw ul li:nth-child(2) {
  width: 60%;
}

.product__box__dw ul li:first-child {
  width: 30%;
}


.product__box__dw ul li {
  float: left;
}

.product__box__dw ul li:first-child {
  position: relative;
  display: inline-block;
}

.product__box__dw ul li:first-child p::after {
  content: "";
  position: absolute;
  left: 0;
  top: 65%;
  width: 100%;
  height: 1px;
  background: #de0000;
  transform: rotate(10deg);
}

.product__box__dw ul li:first-child p {
  font-size: calc(17px + 1.89px);
  /* 2Qアップ 1Qアップは0.94px */
  line-height: 1.3;
}

.product__box__dw ul li:first-child p span {
  font-size: calc(16px - 1.89px);
}

.product__box__dw ul li:last-child {
  font-size: 55px;
  font-family: Roboto;
  color: #de0000;
  line-height: 1;
}

.product__box__dw ul li:last-child:after {
  content: "";
  background-image: url(../img/en.png);
  width: 28px;
  height: 40px;
  margin-left: 5px;
  display: inline-block;
  background-size: 100%;
  background-repeat: no-repeat;
}

.product__arrow {
  position: relative;
  overflow: hidden;
  width: 4%;
}

.product__arrow::before,
.product__arrow::after {
  content: "";
  display: block;
  width: 30px;
  /*線の長さ*/
  height: 1px;
  /*線の太さ*/
  background: #333;
  /*線の色*/
  position: absolute;
  top: calc(50% - 0px);
  right: 0;
  border-radius: 100px;
  transform: rotate(60deg);
  transform-origin: calc(100% - 0px) 50%;
}

.product__arrow::after {
  transform: rotate(-60deg);
}



.product__box__dw ul li:first-child:before {
  content: "";
  display: block;
  width: 30px;
  height: 1px;
  background: #333;
  position: absolute;
  top: calc(50% - 0px);
  left: 100%;
  border-radius: 100px;
  transform: rotate(60deg);
  transform-origin: calc(100% - 0px) 50%;
}

.product__box__dw ul li:first-child:after {
  content: "";
  display: block;
  width: 30px;
  height: 1px;
  background: #333;
  position: absolute;
  top: calc(50% - 0px);
  left: 100%;
  border-radius: 100px;
  transform: rotate(-60deg);
  transform-origin: calc(100% - 0px) 50%;
}



@media screen and (max-width: 450px) {

  .product__reason h3 {
    font-size: calc(5vw + 2.82px);
  }

  .product__box__dw ul li:last-child {
    font-size: 12vw;
  }

  .product__box__dw ul li:first-child p {
    font-size: calc(3.5vw + 0.6vw);
  }

  .product__box__dw ul li:first-child p span {
    font-size: calc(3vw - 1.89px);
  }

  .product__box__dw ul li:first-child:before {
    width: 25%;
  }

  .product__box__dw ul li:first-child:after {
    width: 25%;
  }

  .product__box__dw ul li:last-child:after {
    width: 6vw;
    height: 71%;
    margin-left: 0;
  }

  .product__box__up .font_q {
    font-size: calc(3.2vw + 0.6vw);
  }

  /* 3Qアップ 1Qアップは0.94px */

  .product__arrow::before,
  .product__arrow::after {
    width: 7vw;
  }

  /*線の長さ*/

  .product__arrow {
    width: 7%;
  }

  .product__box .product__family {
    font-size: 3vw;
  }



}

/* ------------------------------------------------------------------------------------------
  流れ
------------------------------------------------------------------------------------------ */

.step4 {
  background-color: #f5fff6;
}

.step4 h3 {
  color: #009c78;
  font-size: 20px;
  text-align: left;
}

.step4 .sec__inner ul {
  display: flex;
  flex-direction: column;
  gap: min(5vw, 30px);
}

.step4_lr {
  border: 1px solid #69c7b0;
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}

.step4 .sec__inner ul li {
  position: relative;
}

.step4 .sec__inner .step4__arrow {
  position: absolute;
  width: 8%;
  bottom: 0;
  left: 50%;
  margin-left: -4%;
  margin-bottom: -3%;
}

.step4_l {
  position: relative;
  width: 30%;
  float: left;
}

.number {
  position: absolute;
  width: 27%;
  top: 0;
  left: 0;
}

.step4_r {
  width: 70%;
  padding: 0 3%;
}

@media screen and (max-width: 450px) {
  .step4 h3 {
    font-size: 4.2vw;
  }
}

/* ------------------------------------------------------------------------------------------
  QA
------------------------------------------------------------------------------------------ */


.waterheater .qa__list--q {
  display: flex;
  align-items: center;
  padding: 0px 50px 0px 60px;
  background: #f5fff6;
  position: relative;
}

.waterheater .qa__list--a {
  display: flex;
  align-items: center;
  padding: 5%;
  background: #f5fff6;
  position: relative;
}

.waterheater .qa__list--a {
  border-bottom: 1px solid #009c78;
  border-right: 1px solid #009c78;
  border-left: 1px solid #009c78;
}

.waterheater .qa__list--q {
  border: 1px solid #009c78;
  position: relative;
  font-weight: 600;
  cursor: pointer;
  margin-top: 3%;
}

.waterheater .qa__list--q:first-child {
  margin-top: 0%;
}

.waterheater .qa__list--q span {
  font-size: 17px;
  display: inline-block;
  padding: 20px 0;
  text-align: justify;
}

.qa__list--a span {
  font-size: 17px;
}

.topnon {
  margin-top: 0;
}

.waterheater .qa__list--q .que,
.waterheater .qa__list--a .que {
  position: absolute;
  font-family: Roboto;
  font-size: 28px;
  height: 100%;
  width: 10%;
  font-weight: 700;
  font-style: normal;
  color: #fff;
  left: 0;
  background-color: #009c78;
  display: grid;
  align-items: center;
  text-align: center;
  border-top-right-radius: 10px;
}

.waterheater .qa__list--q::after {
  content: "＋";
  display: block;
  font-size: 28px;
  font-weight: 400;
  color: #009c78;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}

.waterheater .qa__list--a {
  display: none;
  background: #fff;
}

.qa__copy {
  text-align: center;
  font-weight: bold;
  line-height: 1.3;
}

.qa__copy dt {
  background: linear-gradient(transparent 78%, #fde650 22%);
  display: inline-block;

}

.copy__red {
  color: #de0000;
  font-size: calc(21px + 3px);
}

.copy__green {
  color: #009c78;
  font-size: calc(21px + 3px);
}

.qa__copy dd {
  font-size: 20px;
}


@media screen and (max-width: 450px) {
  .qa__list--q span {
    font-size: 4vw;
  }

  .qa__list--a span {
    font-size: 4vw;
  }

  .waterheater .qa__list--q {
    padding: 0px 5% 0px 13%;
  }

  .waterheater .qa__list--q span {
    font-size: 4vw;
    padding: 5% 0;
    width: 90%;
  }

  .waterheater .qa__list--q::after {
    font-size: 6vw;
    right: 5%;
  }

  .waterheater .qa__list--q i,
  .waterheater .qa__list--a i {
    font-size: 6vw;
    padding-left: 2%;
    border-top-right-radius: 10px;
  }

  .qa__copy dd {
    font-size: 4.7vw;
  }

  .qa__copy dt {
    font-size: 4.7vw;
  }

  .copy__red {
    font-size: calc(4.7vw + 1vw);
  }

  .copy__green {
    font-size: calc(4.7vw + 1vw);
  }

  .waterheater .qa__list--q .que,
  .waterheater .qa__list--a .que {
    font-size: 5vw;
  }
}

/* ------------------------------------------------------------------------------------------
  会社案内
------------------------------------------------------------------------------------------ */
.company h4 {
  font-size: 26px;
  color: #fff;
  text-align: center;
  padding: 1% 0;
}

.company .box1 h3 {
  color: #fff;
  background-color: #009c78;
}

.company .box2 h3 {
  color: #fff;
  background-color: #005e8e;
}

.company h4 {
  color: #009c78;
  font-size: 20px;
}

.company .box1 {
  border: 1px solid #009c78;
  background-color: #fff;
}

.company .box2 {
  border: 1px solid #005e8e;
  background-color: #fff;
}

.box__inner {
  display: flex;
  flex-direction: column;
  gap: min(3vw, 16px);
}

.company .box__inner {
  padding: 5% 3% 5%;
}

.company dl {
  padding: 3%;
  background-color: #f2f2f2;
  width: 100%;
}

.company dt {
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 5%;
}

.company iframe {
  display: block;
}

@media screen and (max-width: 450px) {
  .company p {
    font-size: 4vw;
  }

  .company h3 {
    font-size: 4.2vw;
  }

  .company h4 {
    font-size: 4.2vw;
  }

}

@media screen and (max-width: 350px) {
  .company p {
    font-size: 4.3vw;
  }

  .company h3 {
    font-size: 4.5vw;
  }

  .company h4 {
    font-size: 4.5vw;
  }
}

/* 会社案内　トグル-------------------------------------------------------------------------- */

.waterheater .company__about--message-txt {
  margin-bottom: 10%;
  font-size: 17px;
}

.company__about--message {
  position: relative;
  width: 100%;
}

.company__about--message dd {
  position: relative;
}

.waterheater .company .js-message-toggle {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -150%);
  z-index: 1;
  display: block;
  width: 100%;
  max-width: 40%;
  padding: 3% 7%;
  text-align: center;
  background-color: #005e8e;
  border: none;
  border-radius: 999px;
  color: #fff;
}

.waterheater .company .js-message-toggle.expanded {
  position: unset;
  transform: none;
  margin: 0 auto 10%;
}

element.style {
  max-height: 150px;
  overflow: hidden;
  transition: max-height 0.3s;
}

.company dt {
  margin: 0 auto 20px;
  text-align: center;
}

.waterheater .company__about--message-img {
  max-width: 60%;
  margin: 0 auto;
}

@media screen and (max-width: 450px) {
  .company h4 {
    font-size: 5.5vw;
  }

  .company dt {
    font-size: 5.5vw;
    margin: 0 auto 5%;
  }

  .waterheater .company .js-message-toggle {
    font-size: 4vw;
    width: 100%;
    padding: 3% 2%;
  }

  .waterheater .company__about--message-txt {
    font-size: 4vw;
  }
}

@media screen and (max-width: 350px) {
  .waterheater .company__about--message-txt {
    font-size: 4.3vw;
  }
}

/* ------------------------------------------------------------------------------------------
  ★フロートボタン
------------------------------------------------------------------------------------------ */
.waterheater #js-float-banner {
  display: none;
  position: fixed;
  bottom: 0;
  z-index: 1000;
  opacity: 1;
  transition: opacity 0.5s ease-in-out, bottom 0.5s ease-in-out;
}

.waterheater #js-float-banner.visible {
  display: block;
  bottom: 0;
  opacity: 1;
}

.waterheater .float {
  max-width: 446px;
  margin: 0 auto;
  padding: 8px 0px;
  background: rgba(57, 57, 57, 0.88);
}

.waterheater .float__ttl {
  max-width: 330px;
  margin: 0 auto;
}

.waterheater .float__btn {
  display: flex;
  justify-content: center;
  gap: 3%;
}

.waterheater .float__btn--mail {
  display: block;
  width: 61.4%;
}

.waterheater .float__btn--tel {
  display: block;
  width: 35.8%;
  padding: 0;
  background: none;
  border: none;
}


/* ------------------------------------------------------------------------------------------
  PC
------------------------------------------------------------------------------------------ */

.waterheater .logo__pc--company {
  font-size: 24px;
  font-weight: 700;
}


.waterheater .logo__pc--store {
  display: flex;
  gap: 5px;
}

.waterheater .logo__pc--store span {
  font-size: 24px;
}

.waterheater .logo__pc--store img {
  display: block;
  max-width: 180px;
  height: auto;
}

/* ------------------------------------------------------------------------------------------
  足
------------------------------------------------------------------------------------------ */
.waterheater .rights__sp,
.waterheater .rights__pc {
  display: block;
  color: #707070;
  text-align: center;
}

.waterheater .rights__sp {
  padding: 20px 10px 24px;
  font-size: 10px;
  font-weight: 400;
  background: #fff;
}

@media screen and (min-width: 451px) {
  .waterheater .rights__sp {
    border-radius: 0 0 30px 30px;
  }
}

.waterheater .rights__pc {
  font-size: 10px;
  display: none;
}


/* ------------------------------------------------------------------------------------------
  フォーム
------------------------------------------------------------------------------------------ */


.waterheater .company__showroom--detail-map iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 316/164;
}

.waterheater .form {
  padding: 24px 10px;
  background: #f5f4f0;
  /* エラーメッセージ用スタイル */
}

.waterheater .form__ttl {
  margin-bottom: 5px;
  padding: 0;
}

.waterheater .form__ttl--sub {
  margin-bottom: 15px;
  padding: 10px;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  background: #FF8D44;
  color: #fff;
}

.waterheater .form__ttl--main {
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 1.6px;
  line-height: 1.6em;
}

.waterheater .form__ttl--main span {
  color: #EB6120;
  font-weight: 700;
}

.waterheater .form__menu {
  max-width: 338px;
  margin: 0 auto 30px;
  text-align: center;
}

.waterheater .form__free {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: 700;
  color: #005E8E;
  text-align: center;
}

.waterheater .form__free::before {
  content: "";
  display: block;
  width: 43px;
  height: 37px;
  background-image: url(../img/icon_house.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.waterheater .form__free span {
  display: block;
  padding: 6px 10px 7px;
  font-size: 27px;
  color: #FFEC00;
  line-height: 1;
  background: #005E8E;
  border-radius: 8px;
  position: relative;
  z-index: 1;
}

.waterheater .form__free span::after {
  content: "";
  width: 65px;
  height: 51px;
  background-image: url(../img/icon_glass.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: -18px;
  right: -50px;
  z-index: 2;
}

.waterheater .form .formarea__name {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 10px;
  padding: 8px 16px;
  font-weight: 700;
  background: #F7ECD6;
}

.waterheater .form .formarea__name .required {
  display: inline-block;
  padding: 2px 5px;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  background: #E8380D;
}

.waterheater .form .formarea__item {
  margin-bottom: 20px;
}

.waterheater .form .formarea__item.check {
  display: grid;
  grid-template-areas: "check1 check2" "check3 check4" "error error";
  row-gap: 10px;
  padding: 0 10px;
}

.waterheater .form .formarea__item.check label {
  display: flex;
  align-items: center;
  gap: 5px;
  line-height: 1;
}

.waterheater .form .formarea__item.check label:nth-child(1) {
  grid-area: check1;
}

.waterheater .form .formarea__item.check label:nth-child(2) {
  grid-area: check2;
}

.waterheater .form .formarea__item.check label:nth-child(3) {
  grid-area: check3;
}

.waterheater .form .formarea__item.check label:nth-child(4) {
  grid-area: check4;
}

.waterheater .form .formarea__item.commu {
  display: grid;
  grid-template-areas: "commu1 commu2 commu3" "error error error";
  row-gap: 10px;
  padding: 0 10px;
  margin-bottom: 0;
}

.waterheater .form .formarea__item.commu label {
  display: flex;
  align-items: center;
  gap: 5px;
  line-height: 1;
}

.waterheater .form .formarea__item.commu label:nth-child(1) {
  grid-area: commu1;
}

.waterheater .form .formarea__item.commu label:nth-child(2) {
  grid-area: commu2;
}

.waterheater .form .formarea__item.commu label:nth-child(3) {
  grid-area: commu3;
}

.waterheater .form .formarea input[type=checkbox] {
  width: 20px;
  height: 20px;
  margin: 0;
  border-radius: unset;
  border: 1px solid #B5B4B3;
}

.waterheater .form .formarea input[type=text],
.waterheater .form .formarea input[type=tel],
.waterheater .form .formarea input[type=email],
.waterheater .form .formarea textarea {
  width: 100%;
  padding: 12px 20px;
  border: 1px solid #B5B4B3;
}

.waterheater .form .formarea input[type=text]:focus-visible,
.waterheater .form .formarea input[type=tel]:focus-visible,
.waterheater .form .formarea input[type=email]:focus-visible,
.waterheater .form .formarea textarea:focus-visible {
  outline: 2px solid #E8380D !important;
  border: 1px solid rgba(0, 0, 0, 0) !important;
}

.waterheater .form .formarea__btn {
  max-width: 280px;
  margin: 0 auto;
}

.waterheater .form .formarea__btn:hover {
  opacity: 0.8;
}

.waterheater .form .error {
  color: #E8380D;
}

.waterheater .form #content_error {
  grid-area: error;
}

.waterheater .form #commu_error {
  grid-area: error;
}

.waterheater .form__pp {
  margin-top: 20px;
  text-align: center;
}

.waterheater .form__pp a {
  font-size: 12px;
  text-decoration: underline;
}

.waterheater .form__pp a:hover {
  text-decoration: none;
}

.waterheater .logo__pc {
  display: none;
  max-width: 450px;
  position: fixed;
  top: 40px;
  left: 55px;
}

@media screen and (min-width: 1300px) {
  .waterheater .logo__pc {
    display: block;
  }
}

.waterheater .logo__pc--store span {
  flex: 1;
  display: block;
}

.waterheater .contact {
  padding: 24px 0 30px;
  background: linear-gradient(0deg, #C9DBB0 0%, #C9DBB0 100%);
  /* box--free内のパーツ */
  /* box--txt内のパーツ */
  /* box--btn内のパーツ */
}

.waterheater .contact.achievement {
  padding-top: 20px;
}

.waterheater .contact.free {
  padding-top: 0;
}

.waterheater .contact__box--achievement {
  display: flex;
  justify-content: center;
  gap: 10px;
  padding: 0 5px 20px 24px;
}

.waterheater .contact__box--free {
  background: url(../img/bg_contact_free.png);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: top center;
}

.waterheater .contact__box--btn {
  padding: 0 29px;
}

.waterheater .contact__box--btn--modal {
  padding: 0;
}

.waterheater .contact__box--btn--modal .contact__tel a {
  height: 64px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.waterheater .contact__box--btn--modal .contact__tel a .contact__tel--num {
  flex: 1;
}

.waterheater .contact a {
  display: block;
}

.waterheater .contact a:hover {
  opacity: 0.8;
}

.waterheater .contact__free--head {
  padding: 20px 0 7px;
  text-align: center;
  font-weight: 700;
}

.waterheater .contact__free--head span {
  display: inline-block;
  color: #EB6120;
}

.waterheater .contact__free--img {
  max-width: 338px;
  margin: 0 auto 8.5%;
  text-align: center;
}

.waterheater .contact__free--txt {
  margin-bottom: 10px;
  font-size: 20px;
  font-weight: 700;
  color: #005E8E;
  text-align: center;
  position: relative;
}

.waterheater .contact__free--txt::before {
  content: "";
  width: 43px;
  height: 37px;
  background-image: url(../img/icon_house.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: 0;
  left: 18%;
  z-index: 2;
}

.waterheater .contact__free--txt span {
  display: inline-block;
  margin-left: 5px;
  padding: 6px 10px 7px;
  font-size: 27px;
  color: #FFEC00;
  line-height: 1;
  background: #005E8E;
  border-radius: 8px;
  position: relative;
  z-index: 1;
}

.waterheater .contact__free--txt span::after {
  content: "";
  width: 65px;
  height: 51px;
  background-image: url(../img/icon_glass.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: -18px;
  right: -50px;
  z-index: 2;
}

.waterheater .contact__achievement {
  max-width: 227px;
  padding: 20px 0 0 0;
}

.waterheater .contact__achievement--ttl {
  margin-bottom: 10px;
}

.waterheater .contact__achievement--sub {
  margin-top: 5px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.028em;
}

.waterheater .contact__achievement--caution {
  font-size: 10px;
  color: #5F5D5D;
}

.waterheater .contact__achievement--img {
  max-width: 92px;
}

.waterheater .contact__ttl {
  margin-bottom: 15px;
}

.waterheater .contact__mail {
  margin-bottom: 15px;
}

.waterheater .contact__mail img {
  width: 100%;
  height: auto;
}

.waterheater .contact__mail button {
  padding: 0;
  border: none;
  background: none;
}

.waterheater .contact__tel {
  width: 100%;
}

.waterheater .contact__tel button,
.waterheater .contact__tel a {
  display: block;
  width: 100%;
  padding: 7px 16px;
  border-radius: 8px;
  border: 2px solid #FE7E42;
  background: linear-gradient(180deg, #FFF 5.25%, #FFE7DB 100%);
  box-shadow: 0px 5px 0px 0px #733316;
}

@media screen and (max-width: 320px) {

  .waterheater .contact__tel button,
  .waterheater .contact__tel a {
    padding-left: 1px;
    padding-right: 1px;
  }
}

@media screen and (min-width: 451px) {

  .waterheater .contact__tel button,
  .waterheater .contact__tel a {
    padding: 3.7% 4.4%;
  }
}

.waterheater .contact__tel--num {
  font-size: 10px;
  text-align: center;
}

.waterheater .contact__tel--num span {
  display: block;
  color: #EB6120;
  font-family: Roboto;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.2em;
  position: relative;
}

@media screen and (min-width: 451px) {
  .waterheater .contact__tel--num span {
    font-size: 29px;
  }
}

.waterheater .contact__tel--num span:before {
  content: "";
  width: 21px;
  height: 23px;
  background-image: url(../img/icon_contact_tel.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: 50%;
  left: 8%;
  transform: translateY(-50%);
}

@media screen and (min-width: 451px) {
  .waterheater .contact__tel--num span:before {
    left: 15%;
  }
}

.waterheater .contact__tel--num span:after {
  content: "";
  width: 36px;
  height: 46px;
  background-image: url(../img/icon_contact_point.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: 3px;
  right: 0;
}

@media screen and (min-width: 451px) {
  .waterheater .contact__tel--num span:after {
    right: 10%;
  }
}

.waterheater .contact-pc {
  display: none;
  max-width: 370px;
  padding: 10px;
  background: #bddac0;
  position: fixed;
  right: 50px;
  bottom: 100px;
  /* box--btn内のパーツ */
}

@media screen and (min-width: 1300px) {
  .waterheater .contact-pc {
    display: block;
  }
}

.waterheater .contact-pc__box--btn {
  padding: 10px 20px;
  border: 1px solid #fff;
}

.waterheater .contact-pc__ttl {
  max-width: 318px;
  margin: 0 auto 15px;
}

.waterheater .contact-pc__menu {
  margin-bottom: 10px;
}

.waterheater .contact-pc__mail {
  margin-bottom: 10px;
}

.waterheater .contact-pc__mail img {
  width: 100%;
  height: auto;
}

.waterheater .contact-pc__tel {
  width: 100%;
}

.waterheater .contact-pc__tel--num {
  margin-bottom: 8px;
  font-size: 12px;
  text-align: center;
}

.waterheater .contact-pc__tel--num span {
  display: inline-block;
  margin-bottom: 2px;
  font-family: Roboto;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2em;
  position: relative;
}

.waterheater .contact-pc__tel--num span:before {
  content: "";
  width: 26px;
  height: 26px;
  background-image: url(../img/icon_tel.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: 50%;
  left: -30px;
  transform: translateY(-50%);
}


.waterheater .rights__sp {
  padding: 20px 10px 24px;
  font-size: 10px;
  font-weight: 400;
  background: #fff;
}

@media screen and (min-width: 451px) {
  .waterheater .rights__sp {
    border-radius: 0 0 30px 30px;
  }
}

.waterheater .rights__pc {
  display: none;
}

@media screen and (min-width: 1300px) {
  .waterheater .rights__pc {
    display: block;
    position: fixed;
    right: 140px;
    bottom: 65px;
  }
}

.waterheater .campaign {
  background: #E7ECEF;
}

.waterheater .campaign__inner {
  padding: 12px 14px;
}

.waterheater .thanks__wrap {
  min-height: 100vh;
  background: #f5f4f0;
}

@media screen and (min-width: 451px) {
  .waterheater .thanks__wrap {
    min-height: calc(100vh - 116px);
  }
}

.waterheater .thanks__inner {
  padding: 24px 12px;
}

.waterheater .thanks__ttl {
  margin-bottom: 30px;
  padding-bottom: 30px;
  font-size: 32px;
  font-weight: 900;
  text-align: center;
  position: relative;
}

.waterheater .thanks__ttl::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background: linear-gradient(to right, #EB6120, #EB6120 50%, #000 50%, #000);
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}

.waterheater .thanks__sub {
  margin-bottom: 30px;
  padding: 20px 10px;
  text-align: center;
  background: #fff;
  border: 3px solid #aaa;
}

.waterheater .modal {
  font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif;
}

.waterheater .modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.waterheater .modal__container {
  width: 100%;
  background-color: #fff;
  margin: 0 10px;
  padding: 10px 10px 40px;
  max-width: 500px;
  max-height: 90svh;
  border-radius: 4px;
  overflow-y: auto;
  box-sizing: border-box;
  position: relative;
}

.waterheater .modal__header {
  display: flex;
  justify-content: center;
  align-items: center;
}

.waterheater .modal__title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.25;
  box-sizing: border-box;
  text-align: center;
}

.waterheater .modal__title--form {
  text-align: center;
  font-size: 18px;
  font-weight: bold;
}

.waterheater .modal__title--form span {
  display: block;
}

.waterheater .modal__close {
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  font-size: 20px;
  color: #fff;
  background: #005E8E;
  border-radius: 1000px;
  position: sticky;
  top: 0;
  left: 95%;
  z-index: 99;
}

.waterheater .modal__close:before {
  content: "✕";
}

.waterheater .modal__content {
  max-width: 500px;
  margin: 5px auto 0;
  line-height: 1.5;
  color: rgba(0, 0, 0, 0.8);
}

.waterheater .modal__btn {
  font-size: 0.875rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  background-color: #e6e6e6;
  color: rgba(0, 0, 0, 0.8);
  border-radius: 0.25rem;
  border-style: none;
  border-width: 0;
  cursor: pointer;
  -webkit-appearance: button;
  text-transform: none;
  overflow: visible;
  line-height: 1.15;
  margin: 0;
  will-change: transform;
  -moz-osx-font-smoothing: grayscale;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: transform 0.25s ease-out;
}

.waterheater .modal__btn:focus,
.waterheater .modal__btn:hover {
  transform: scale(1.05);
}

.waterheater .modal__btn-primary {
  background-color: #00449e;
  color: #fff;
}

.waterheater .modal__footer {
  margin-top: 10px;
  text-align: center;
  font-size: 16px;
}

@keyframes mmfadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes mmfadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes mmslideIn {
  from {
    transform: translateY(15%);
  }

  to {
    transform: translateY(0);
  }
}

@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(-10%);
  }
}

.waterheater .micromodal-slide {
  display: none;
}

.waterheater .micromodal-slide.is-open {
  display: block;
}

.waterheater .micromodal-slide[aria-hidden=false] .modal__overlay {
  animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.waterheater .micromodal-slide[aria-hidden=false] .modal__container {
  animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.waterheater .micromodal-slide[aria-hidden=true] .modal__overlay {
  animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.waterheater .micromodal-slide[aria-hidden=true] .modal__container {
  animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.waterheater .micromodal-slide .modal__container,
.waterheater .micromodal-slide .modal__overlay {
  will-change: transform;
}

/*# sourceMappingURL=style.css.map */