@charset "UTF-8";

#bathroom .page-head {
  background: url(../assets/images/bathroom/main_visual.jpg) no-repeat center center;
}
.bathroom-slash span {
  padding: 0 3em;
}
.bathroom-slash span::before, .bathroom-slash span::after {
  top: inherit;
  bottom: .8em;
}
#bathroom .product__article {
  margin-bottom: 0;
}
#bathroom .product-title {
  border-color: #57b0d9;
}
@media screen and (max-width: 1365px) {
  #ecojozu .product-title {
    flex-direction: column;
    align-items: flex-start;
  }
  #ecojozu .product__model {
     margin-top: .35em;
  }
}
.present {
  position: relative;
  display: inline-block;
}
.present-txt {
  width: 530px;
  margin: 25px 0;
  padding: 1.5em 2em;
  border: solid 1px #b5b5b5;
  border-radius: 9px;
  background: #fff;
  text-align: left;
  line-height: 1.6;
  letter-spacing: 0;
}
.present-img {
  position: absolute;
  top: 50%;
  right: -85px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.present-img img {
  border-radius: 9999px;
}
.emphasis-txt {
  color: var(--base-color);
}
#bathroom .point-summary__title, #bathroom .other-lead, #bathroom .product__category {
  color: var(--bathroom-color);
}
#bathroom .other-lead {
  padding: 2em 0 2.2em;
}
#ecojozu .product__image {
  aspect-ratio: 140 / 81;
}
#ecojozu .model-image {
  width: 38.2142857%;
}
.roundlist {
  margin: 0 0 auto 30px;
}
.roundlist__item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  background: #d2eaf5;
  border-radius: 9999px;
  font-size: 1.8rem;
  color: var(--base-color);
}
.roundlist__item + .roundlist__item {
  margin-top: 10px;
}
#dryhot .product__article {
  margin-top: 0!important;
}
.dryhot-image__wrap {
  position: relative;
}
.dryhot-image .roundlist {
  position: absolute;
  left: 0;
  bottom: 20px;
  margin: 0;
  width: 310px;
}
.dryhot-image .roundlist__item {
  margin: 0;
  background: #5085be;
  color: #fff;
}
.ejpoint {
  margin: 110px 0 100px;
}
.ejpoint__list {
  grid-template-columns: repeat(2, 1fr);
  gap: 2.8%;
}
.ejpoint__item {
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 0;
  padding: 50px 46px;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 1px 12px rgba(31, 150, 205, .4);
}
.ejpoint__title {
  width: 100%;
  height: 47px;
  border-radius: 4px;
  background: #5085be;
  line-height: 47px;
  font-size: 1.9rem;
  color: #fff;
}
.ejpoint__title span {
  position: relative;
}
.ejpoint__title span::before {
  content: '※1';
  position: absolute;
  left: -2.1em;
  font-size: 1.7rem;
}
.ejpoint__title.-w-jokin span::before {
  content: '※2';
}
.ejpoint__body {
  padding: 25px 20px 28px;
  background-image: linear-gradient(to right, #5085be 5px, transparent 5px);
}
.ejpoint__explain {
  padding-top: 35px;
}
.ejpoint__subpoint {
  padding: 0 20px 0 0;
  width: 50%;
}
.ejpoint__subpoint + .ejpoint__subpoint {
  padding: 0 0 0 20px;
  border-left: solid 1px #ccc;
}
.subpoint__title {
  font-size: 1.7rem;
  font-weight: 700;
  color: #5085be;
}
.point-txt {
  text-align: justify;
  line-height: 1.75;
}
figcaption.ejpoint__caption {
  margin-top: 1.2em;
  line-height: 1.45;
  font-weight: 700;
}
.ejpoint__caption.balloon {
  position: relative;
  display: inline-block;
  margin: 0 auto 22px;
  padding: 6px;
  width: 250px;
  border: solid 2px #333;
  background: #fff;
  font-size: 1.7rem;
  font-weight: 700;
  color: #333;
}
.ejpoint__caption.balloon::before {
  content: '';
  position: absolute;
  bottom: -11px;
  left: 0;
  right: 0;
  margin: auto;
  width: 18px;
  height: 15px;
  background: #fff;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  z-index: 1;
}
.ejpoint__caption.balloon::after {
  content: '';
  position: absolute;
  bottom: -15px;
  left: 0;
  right: 0;
  margin: auto;
  width: 18px;
  height: 15px;
  background: #333;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.ejpoint__link {
  position: relative;
  margin: 25px auto 0;
  width: 250px;
  height: 50px;
  background: #fff;
  border: solid 1px #5085be;
  border-radius: 9999px;
}
.ejpoint__link a {
  width: 100%;
  height: 100%;
  font-size: 1.6rem;
  font-weight: 700;
  color: #5085be;
}
.ejpoint__link a::after {
  content: "";
  position: absolute;
  right: 25px;
  display: inline-block;
  width: 7px;
  height: 12px;
  background: url(../assets/images/bathroom/arrow_blue.svg) no-repeat center center;
}
.reference {
  margin-left: .6em;
  font-size: 1.7rem;
}

/*-------------------------------------------------
 * mediaqueriess
-------------------------------------------------*/
@media screen and (max-width: 1279px) {
  #bathroom .page-head {
    background-position-x: 64%;
  }
  .present {
    display: flex;
    justify-content: space-between;
    align-items: center;
    column-gap: 1.6em;
    margin: 25px 0;
    padding: 1.5em 1.8em;
    width: 100%;
    border: solid 1px #b5b5b5;
    border-radius: 9px;
    background: #fff;
  }
  .present-txt {
    margin: 0;
    padding: 0;
    width: 60%;
    border: none;
    background: none;
  }
  .present-img {
    position: static;
    transform: none;
  }
  .dryhot-image .roundlist {
    position: relative;
    margin-top: 20px;
  }
  .ejpoint {
    margin: 75px 0 65px;
  }
  @media screen and (max-width: 1023px) {
    #bathroom .product__article {
      margin-top: var(--product-image-margin-mid);
    }
    .present {
      justify-content: center;
      column-gap: 35px;
    }
    .present-txt {
      width: auto;
    }
    .dryhot-image__wrap .square-image {
      margin-bottom: -20px;
    }
    .dryhot-image .roundlist {
      top: -55px;
      left: 16.5%;
      margin: 0;
    }
    .ejpoint__list, .ejpoint__item {
      display: block;
      width: 100%;
    }
    .ejpoint__item + li {
      margin-top: 32px;
    }
  }
}
@media screen and (max-width: 743px) {
  #bathroom .page-head {
    background-position-x: 57%;
  }
  #bathroom .other-lead {
    padding: 1em 0 1.2em;
  }
  #bathroom .product__article {
    margin-top: var(--product-image-margin-sp);
  }
  #dryhot .product__article {
    margin-top: 5px!important;
  }
  #dryhot .product__link {
    margin-top: 30px;
  }
  #systembath .details__list {
    flex-flow: row wrap;
    justify-content: space-between;
    column-gap: 0
  }
  #systembath .details__item {
    width: 43%;
  }
  .present {
    flex-direction: column;
    gap: 15px 0;
  }
  .present-txt, .present-img {
    text-align: center;
  }
  .present-img {
    width: 50%;
  }
  #ecojozu .product__image {
    flex-direction: row;
    aspect-ratio: auto;
    padding-top: 8.5333333vw;
    width: 100%;
  }
  #ecojozu .model-image {
    width: 48%;
  }
  .dryhot-image__wrap .square-image {
    margin-bottom: 15px;
  }
  .dryhot-image .roundlist {
    justify-content: center;
    column-gap: 8px;
    position: static;
    margin-bottom: 25px;
    width: 100%;
  }
  .roundlist__item {
    width: 64px;
    height: 64px;
  }
  .ejpoint {
    margin: 40px 0;
  }
  .ejpoint__item {
    padding: 28px 20px;
  }
  .ejpoint__item + li {
    margin-top: 5.333333vw;
  }
  .ejpoint__title {
    height: 37px;
    line-height: 37px;
    font-size: 1.7rem;
  }
  .ejpoint__body {
    flex-direction: column;
    padding: 16px 0 20px;
  }
  .ejpoint__subpoint {
    padding: 0 0 16px 0;
    width: 100%;
  }
  .ejpoint__subpoint + .ejpoint__subpoint {
    padding: 16px 0 0 0;
    border-left: none;
    border-top: solid 1px #ccc;
  }
  .ejpoint__explain {
    padding-top: 28px;
  }
  .ejpoint__caption.balloon {
    padding: 4px;
    width: 206px;
    font-size: 1.6rem;
  }
  .ejpoint__link {
    width: 100%;
    height: 40px;
  }
  .ejpoint__link a, .ejpoint__title span::before, .reference {
    font-size: 1.5rem;
  }
  .ejpoint__link a::after {
    right: 25px;
    margin-top: 0;
  }
}