.simulator {
  margin-bottom: 100px;
}
.simulator .emuTable {
  width: 100%;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
}
.simulator .emuTable th,
.simulator .emuTable td {
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding: 15px 10px;
  text-align: center;
}
.simulator .emuTable th {
  background: #f3f3f3;
}
.simulator .emuTable td:last-child {
  text-align: left;
}
.simulator .emuTable thead th {
  width: 40%;
}
.simulator .emuTable thead th:nth-child(1) {
  width: 20%;
}
.simulator .emuTable thead th.input {
  background: #80b5de;
  color: #fff;
}
.simulator .emuTable thead th.output {
  background: #fd5749;
  color: #fff;
}
.simulator .emuTable tbody td.input {
  background: #dde7ef;
}
.simulator .emuTable tbody td.output {
  background: #f9eae8;
}
.simulator .emuTable tbody tr.fuel td {
  padding-left: 30px;
}
.simulator .emuTable tbody tr.fuel td input[type=text],
.simulator .emuTable tbody tr.fuel td input[type=number] {
  width: 100px;
  margin-right: 5px;
}
.simulator .emuTable tbody tr.fuel.err th,
.simulator .emuTable tbody tr.fuel.err td {
  background: #fedfdf;
}
.simulator .emuTable tbody tr.error_ondo td {
  display: none;
  text-align: center;
  background: #fedfdf;
  color: #cc0000;
}
.simulator .emuTable input[type=text],
.simulator .emuTable input[type=number] {
  border: 1px solid #ccc;
  padding: 8px 5px;
  font-size: 1.6rem;
}
.simulator .emuTable input[type=text].err,
.simulator .emuTable input[type=number].err {
  background: #fedfdf;
}
.simulator .emuTable input[type=text]:disabled,
.simulator .emuTable input[type=number]:disabled {
  color: #aaa;
}
.simulator .emuTable span.err {
  display: block;
  margin-top: 10px;
  color: #cc0000;
  font-size: 1.4rem;
}
.simulator .furyo_select {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}
.simulator .furyo_select li {
  width: 50%;
  text-align: center;
}
.simulator .furyo_select li label {
  display: inline-block;
  padding-left: 30px;
  cursor: pointer;
  position: relative;
}
.simulator .furyo_select li label input {
  position: absolute;
  opacity: 0;
  z-index: -1;
}
.simulator .furyo_select li label input:checked ~ .indicator {
  background: #1f4584;
  border-color: #1f4584;
}
.simulator .furyo_select li label input:checked ~ .indicator::after {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #fff;
  position: absolute;
  left: 5px;
  top: 5px;
}
.simulator .furyo_select li label .indicator {
  width: 22px;
  height: 22px;
  position: absolute;
  border-radius: 50%;
  border: 1px solid #ccc;
  left: 0;
  top: 2px;
}
.simulator .numBox {
  text-align: center;
  padding: 0 20px;
}
.simulator .numBox .cmh {
  margin-top: 10px;
}
.simulator .numBox span {
  display: inline-block;
  margin-left: 2px;
  min-width: 5em;
  text-align: left;
}
.simulator .numBox input {
  width: 80px;
}
.simulator .numBox .slider {
  margin-top: 10px;
}
.simulator .numBox.kadou input {
  width: 70px;
}
.simulator .numBox .noUi-target {
  background: #f3f3f3;
  border-color: #ddd;
}
.simulator .numBox .noUi-handle {
  background: #1f4584;
  box-shadow: none;
}
.simulator .numBox .noUi-handle.noUi-active {
  box-shadow: inset 0 0 1px #fff, inset 0 1px 7px #50a6d8;
}
.simulator .deco-check {
  margin-right: 10px;
  position: relative;
}
.simulator .deco-check:hover {
  cursor: pointer;
}
.simulator .deco-check input {
  opacity: 0;
  visibility: hidden;
  position: absolute;
}
.simulator .deco-check input:checked + .dummy {
  background: #1f4584;
  border-color: #1f4584;
}
.simulator .deco-check input:checked + .dummy::after {
  content: "";
  width: 80%;
  height: 40%;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg) translate(-40%, -60%);
  transform-origin: 0 0;
  position: absolute;
  left: 50%;
  top: 50%;
}
.simulator .deco-check .dummy {
  position: relative;
  width: 25px;
  height: 25px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 2px;
  display: inline-flex;
  vertical-align: text-top;
  margin-right: 8px;
}
.simulator .btn_restart {
  text-align: center;
  display: none;
  margin-top: 80px;
}
.simulator .btn_restart a,
.simulator .btn_restart button {
  text-decoration: none !important;
  display: inline-block;
  background: #1f4584;
  color: #fff;
  appearance: none;
  width: 55%;
  padding: 15px 0;
  text-align: center;
  font-size: 2.4rem;
  font-weight: bold;
  border-radius: 10px;
  padding: 2rem 0;
}
.simulator .simulatorbtn {
  height: 150px;
  position: relative;
  gap: 2rem;
}
.simulator .simulatorbtn button,
.simulator .simulatorbtn .sim_calc,
.simulator .simulatorbtn .sim_end {
  border: none;
  padding: 2rem 2rem;
  border-radius: 10px;
  background: #1f4584;
  color: #fff;
  font-size: 2.4rem;
  cursor: pointer;
  width: 45%;
  font-weight: bold;
  position: absolute;
  left: 27.5%;
  top: 50%;
  transform: translate(0, -50%);
  transition: 0.5s;
}
@media screen and (max-width: 1024px) {
  .simulator .simulatorbtn button,
.simulator .simulatorbtn .sim_calc,
.simulator .simulatorbtn .sim_end {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .simulator .simulatorbtn button,
.simulator .simulatorbtn .sim_calc,
.simulator .simulatorbtn .sim_end {
    font-size: 1.6rem;
  }
}
.simulator .simulatorbtn .sim_calc,
.simulator .simulatorbtn .sim_end {
  left: 0;
  display: none;
  text-align: center;
  cursor: auto;
}
.simulator .simulatorbtn .cut {
  visibility: hidden;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(0, -50%);
  opacity: 0;
  transition: 0.5s;
  transition-delay: 0.2s;
  z-index: 10;
  width: 50%;
}
.simulator .simulatorbtn .cut .smoke {
  position: absolute;
  bottom: 100%;
  right: 0;
  width: 100%;
}
.simulator .simulatorbtn.is-active button {
  left: 0;
  transform: translate(0, -50%);
}
.simulator .simulatorbtn.is-active .cut {
  visibility: visible;
  opacity: 1;
}
.simulator .simulatorbtn.is-active .cut .smoke {
  animation: steam01 2s linear forwards;
  animation-delay: 1s;
  transform-origin: bottom right;
}
.simulator #result_area section {
  margin-bottom: 4.5rem;
  display: none;
}
.simulator #result_area section .result {
  position: relative;
}
.simulator #result_area section .result dl dd strong span.num {
  font-size: 3rem;
}
.simulator #result_area section .result .ecoleaf {
  animation: wobbling_x 0.7s ease-in-out infinite alternate;
  position: absolute;
  bottom: 0;
  right: -10px;
  width: 195px;
  height: 111px;
  background: url("/cms/wp-content/themes/sdat_renew/img/product/thermo_coil/icon_ecoleaf.png") 0 0/contain;
  padding: 30px 0 0 10px;
  font-weight: 900;
  font-size: 3rem;
  text-align: center;
  color: #fff;
  filter: drop-shadow(0 10px 0 #eae9c7);
  text-shadow: 1px 1px 0 #4e949d, -1px -1px 0 #4e949d, -1px 1px 0 #4e949d, 1px -1px 0 #4e949d, 0px 1px 0 #4e949d, -1px 0 #4e949d, -1px 0 0 #4e949d, 1px 0 0 #4e949d;
}
.simulator #result_area section .result .ecoleaf span {
  display: inline-block;
  padding-left: 0.5rem;
  font-size: 2rem;
  font-weight: 700;
}
.simulator #result_area section .result .ecoleaf span.num {
  font-size: 3rem;
  font-weight: 900;
}
.simulator #result_area section .result .ecoleaf span.yaku {
  font-size: 1.6rem;
  font-weight: 500;
  text-shadow: none;
  color: #fff;
}
.simulator #result_area section .result .ecoleaf span.none {
  display: none;
}
@keyframes wobbling_x {
  0% {
    bottom: -30px;
  }
  100% {
    bottom: -20px;
  }
}
.simulator #result_area section .result dl {
  display: flex;
  justify-content: flex-start;
  justify-content: center;
  align-items: center;
  background: #faf8b8;
  padding: 1rem 200px 1rem 2rem;
}
.simulator #result_area section .result dl dt {
  font-size: 1.8rem;
  font-weight: bold;
  color: #55a61f;
  position: relative;
  padding: 0 15px 0 25px;
  white-space: nowrap;
}
.simulator #result_area section .result dl dt:before {
  content: "";
  width: 23px;
  height: 19px;
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background: url("/cms/wp-content/themes/sdat_renew/img/product/thermo_coil/icon_eco.png") 0 0/contain;
}
.simulator #result_area section .result dl dd {
  white-space: nowrap;
  font-size: 1.8rem;
  font-weight: bold;
  color: #707070;
}
.simulator #result_area section .result dl dd strong {
  line-height: 1;
  padding: 0 0.5rem;
  margin: 0 0.5rem;
  color: #dd4c40;
  font-size: 3rem;
  font-weight: 900;
  display: inline-block;
  background: linear-gradient(transparent 60%, #9dddf5 60%);
  position: relative;
}
.simulator #result_area section .result dl dd strong span {
  font-size: 2rem;
}
.simulator #result_area section .result dl dd strong:before {
  content: "";
  width: 150%;
  height: 300%;
  border-radius: 75%;
  background: #faf8b8;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  transform: translate(-50%, -50%);
  filter: drop-shadow(0 10px 0 #eae9c7);
}
.simulator #result_area p.hainetsu {
  display: none;
  font-size: 1.8rem;
  font-weight: bold;
  color: #55a61f;
}
.simulator #result_area p.hainetsu span:nth-child(1) {
  font-size: 3rem;
  color: #dd4c40;
}
.simulator #result_area p.hainetsu span:nth-child(2) {
  color: #dd4c40;
}
@media screen and (max-width: 1024px) {
  .simulator .furyo_select {
    display: block;
    margin-bottom: 20px;
  }
  .simulator .furyo_select li {
    width: auto;
    text-align: left;
    margin-bottom: 10px;
  }
  .simulator #result_area section .result dl {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .simulator .emuTable tbody th {
    padding: 15px 5px;
  }
  .simulator .emuTable tbody tr.fuel td {
    padding-left: 18px;
  }
  .simulator .numBox {
    padding: 0 8px;
  }
  .simulator .btn_restart a,
.simulator .btn_restart button {
    width: 100%;
    font-size: 1.6rem;
  }
  .simulator #result_area section .result .ecoleaf {
    right: -10px;
    width: 117px;
    height: 67px;
    background: url("/cms/wp-content/themes/sdat_renew/img/product/thermo_coil/icon_ecoleaf.png") no-repeat 0 0/contain;
    padding: 7px 0 0 25px;
    font-weight: bold;
    font-size: 2rem;
  }
  .simulator #result_area section .result .ecoleaf span {
    padding-left: 0.25rem;
  }
  .simulator #result_area section .result .ecoleaf span.yaku {
    font-size: 1.4rem;
  }
  @keyframes wobbling_x {
    0% {
      bottom: 0px;
    }
    100% {
      bottom: -5px;
    }
  }
  .simulator #result_area section .result dl {
    padding: 1rem 200px 1rem 2rem;
  }
  .simulator #result_area section .result dl dt {
    font-size: 1.6rem;
    padding: 0 0 0 25px;
  }
  .simulator #result_area section .result dl dd {
    font-size: 1.6rem;
  }
  .simulator #result_area section .result dl dd strong {
    padding: 0 0.25rem;
    margin: 0 0.25rem;
    font-size: 2rem;
  }
  .simulator #result_area section .result dl dd strong span {
    font-size: 1.8rem;
  }
}

@keyframes steam01 {
  0% {
    transform: scale(1, 1);
    opacity: 1;
  }
  11% {
    opacity: 0.8;
  }
  33% {
    transform: scale(0.7, 0.7);
    opacity: 0.7;
  }
  66% {
    transform: scale(0.4, 0.4);
    opacity: 0.6;
  }
  100% {
    transform: scale(0.2, 0.2);
    opacity: 0;
  }
}
#contents .inq {
  display: none;
  margin: 180px 0 80px;
  padding: 3rem 3rem;
  background: #00d4ff;
  position: relative;
}
#contents .inq:before {
  content: "";
  width: 100%;
  height: 100px;
  display: block;
  background: url("/cms/wp-content/themes/sdat_renew/img/product/thermo_coil/simulator_inq_01.webp") no-repeat center center/contain;
  position: absolute;
  bottom: 100%;
  left: 0;
}
#contents .inq .lead {
  font-size: 3rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.5 !important;
  margin-bottom: 0;
}
#contents .inq .mail {
  margin: -20px 0 10px;
}
#contents .inq .call dt {
  font-size: 3rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
  margin-bottom: 1rem;
}
#contents .inq .call dd {
  text-align: center;
  max-width: 564px;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  #contents .inq {
    padding: 2rem;
  }
  #contents .inq .mail {
    margin: 0 0 10px;
  }
}
@media screen and (max-width: 767px) {
  #contents .inq {
    padding: 1rem;
  }
  #contents .inq .lead {
    font-size: 1.8rem;
  }
  #contents .inq .call dt {
    font-size: 2.4rem;
  }
}