:root {
  --color-key: #00b895;
  --color-key-shadow: #00735d;
}

#globalFooter .footerBack {
  display: none !important;
}

.footerFixedBtnSim {
  display: none !important;
}

/*
#wrapper {
  width: auto;
}
*/
.grayOut {
  filter: saturate(0%) !important;
  pointer-events: none !important;
}

.ptopPc {
  display: none;
}

.simhead {
  width: 100%;
  background: var(--color-conv);
  border-radius: 40px 40px 0 0;
  font-size: 0;
  text-align: center;
  position: relative;
}
.simhead img {
  height: 158px;
  width: auto;
}
.simhead:before {
  content: "";
  position: absolute;
  left: calc(50% - 360px);
  bottom: -20px;
  background: url(../img/ico_denki.png) no-repeat center;
  background-size: contain;
  width: 150px;
  height: 150px;
}
.simhead:after {
  content: "";
  position: absolute;
  left: calc(50% + 210px);
  bottom: -20px;
  background: url(../img/ico_gas.png) no-repeat center;
  background-size: contain;
  width: 150px;
  height: 150px;
}

.contentsRead_head {
  font-size: var(--fsize24);
  font-weight: bold;
  padding-top: 22px;
}

.simulatorContainer label {
  display: block;
}
.simulatorContainer .inner {
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
}
.simulatorContainer .colorAlert {
  color: #cb0000;
}
.simulatorContainer .simMessage {
  margin-top: clamp(0px, 5.22vw, 40px);
}
.simulatorContainer .simMessageHead {
  font-size: var(--fsize20);
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-alert);
}
.simulatorContainer .simMessageTxt {
  font-size: var(--fsize16);
  margin-top: clamp(0px, 1.3vw, 10px);
}
.simulatorContainer .simHide {
  display: block !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  min-width: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
}
.simulatorContainer .simBtnDisable {
  pointer-events: none !important;
  background-color: #f0f0f0 !important;
  color: #b6b6b6 !important;
  box-shadow: 0 3px 0 #b6b6b6 !important;
  cursor: default !important;
}
.simulatorContainer .simBtnDisable:hover {
  opacity: 1 !important;
}
.simulatorContainer .simBtnDisable:before,
.simulatorContainer .simBtnDisable i {
  opacity: 0.3 !important;
}
.simulatorContainer .simAlert {
  background: var(--color-alert);
  display: table;
  box-sizing: border-box;
  color: #ffffff;
  padding: 6px 10px 6px 10px;
  border-radius: var(--radius1);
  font-size: var(--fsize14);
  font-weight: bold;
  line-height: 1.2;
  margin-top: 5px;
  letter-spacing: normal;
}
.simulatorContainer .simInputAlert {
  background-color: #ffecdb !important;
}
.simulatorContainer button {
  display: block;
  border: none;
  border-radius: 0;
  background: none;
  outline: none;
  margin: 0;
  padding: 0;
  vertical-align: middle;
  -moz-appearance: none;
       appearance: none;
  cursor: pointer;
  transition: opacity 0.3s;
}
.simulatorContainer button:disabled {
  cursor: default;
}
.simulatorContainer button:disabled:hover {
  opacity: 1;
}
@media (any-hover: hover) {
  .simulatorContainer button:hover {
    opacity: 0.7;
  }
}
.simulatorContainer .selectCol:before {
  clip-path: none;
  z-index: 1;
  content: "";
  width: 14px;
  height: 14px;
  background: url(/denkigas/cmn/img/ico_ar_d.svg) no-repeat center;
  background-size: contain;
  position: absolute;
  left: 16px;
  top: calc(50% - 7px);
  pointer-events: none;
}
.simulatorContainer .formBtn {
  width: 255px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-line-pack: center;
      align-content: center;
  -ms-flex-pack: center;
      justify-content: center;
  color: #333;
  font-size: var(--fsize16);
  font-weight: 500;
  line-height: 1.2;
  padding: 0 20px;
  min-height: 80px;
  border: 3px solid #dcdcdc;
  border-radius: var(--radius2);
  box-sizing: border-box;
  position: relative;
  cursor: pointer;
  transition: border 0.2s ease-out, background 0.2s ease-out;
}
.simulatorContainer .formBtn.-s {
  width: 200px;
}
.simulatorContainer .formBtn.-blank {
  padding: 10px 5px;
  opacity: 1;
}
.simulatorContainer .formBtn.-full {
  width: 520px;
  margin: 10px auto 0;
  font-size: var(--fsize18);
}
@media (any-hover: hover) {
  .simulatorContainer .formBtn:hover {
    text-decoration: none;
  }
  .simulatorContainer .formBtn:hover:not(.checked) {
    background: #f9f9f9;
    border: 3px solid #b3b3b3;
  }
}
.simulatorContainer .formBtn.-radio {
  background: rgba(255, 255, 255, 0.4);
}
.simulatorContainer .formBtn.-radio:before {
  content: "";
  width: 18px;
  height: 18px;
  background: #dcdcdc;
  border-radius: 50%;
  box-sizing: border-box;
  position: absolute;
  left: 12px;
  top: calc(50% - 9px);
}
.simulatorContainer .formBtn.-radio.checked {
  color: #fff;
  border-color: #00b895;
  background: #00b895;
}
.simulatorContainer .formBtn.-radio.checked:before {
  border: 6px solid #fff;
  background: #000;
}
.simulatorContainer .formBtn.-check:before {
  content: "";
  width: 16px;
  height: 16px;
  border-radius: 5px;
  border: 2px solid #efefef;
  box-sizing: border-box;
  position: absolute;
  left: 10px;
  top: calc(50% - 8px);
}
.simulatorContainer .formBtn.-check.checked {
  color: #fff;
  border-color: #00b895;
  background: #00b895;
}
.simulatorContainer .formBtn.-check.checked:before {
  background: #fff;
  border: none;
}
.simulatorContainer .formBtn.-check.checked:after {
  content: "";
  width: 11px;
  height: 5px;
  border-left: 2px solid #000;
  border-bottom: 2px solid #000;
  position: absolute;
  left: 11px;
  top: calc(50% - 6px);
  transform: rotate(-45deg);
}
.simulatorContainer .formBtn > input[type=radio],
.simulatorContainer .formBtn > input[type=checkbox] {
  display: none;
}
.simulatorContainer .simulatorUI {
  position: relative;
}
.simulatorContainer .simLayer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
}
.simulatorContainer .simLayer.-error {
  z-index: 10;
  padding-top: 6%;
  text-align: center;
  font-weight: bold;
}
.simulatorContainer .simLayer.-error .errorTitle {
  font-size: var(--fsize26);
}
.simulatorContainer .simLayer.-error .errorText {
  margin: 24px auto 0 auto;
  max-width: 85%;
  font-size: var(--fsize16);
}
.simulatorContainer .simLayer.-error .layerCloseBtn {
  display: block;
  margin: 50px auto 0 auto;
  width: 180px;
  height: 40px;
}
.simulatorContainer .simLayer.-loading {
  z-index: 9;
}
.simulatorContainer .simLayer.-loading .loadingIndicator {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -16px;
  margin-left: -16px;
  display: block;
  width: 32px;
  height: 32px;
}
.simulatorContainer .headTxt {
  text-align: center;
}
.simulatorContainer .headNotes {
  margin-top: 10px;
  text-align: center;
}
.simulatorContainer .headNotes > li {
  font-size: var(--fsize12);
}
.simulatorContainer .form1 {
  padding: 0 0 3px;
}
.simulatorContainer .simFirst {
  text-align: center;
  padding-bottom: 60px;
}
.simulatorContainer .simSecond {
  padding-bottom: 40px;
  border-bottom: 2px solid #f0f0f0;
}
.simulatorContainer .simSecond.denki .formColTtl:after {
  background: var(--color-denki);
}
.simulatorContainer .simSecond.denki .selectCol:before {
  background-image: url(/denkigas/cmn/img/ico_ar_d_denki.svg);
}
.simulatorContainer .simSecond.denki .formCol.-amount:before {
  background-image: url(/denkigas/cmn/img/ico_yen_denki.svg);
}
.simulatorContainer .simSecond.denki .formCol.-amount:has(.simPtAmount:not(.hidden)):before {
  background-image: url(/denkigas/cmn/img/ico_bulb.svg);
}
.simulatorContainer .simSecond.gas .formColTtl:after {
  background: var(--color-gas);
}
.simulatorContainer .simSecond.gas .selectCol:before {
  background-image: url(/denkigas/cmn/img/ico_ar_d_gas.svg);
}
.simulatorContainer .simSecond.gas .formCol.-amount:before {
  background-image: url(/denkigas/cmn/img/ico_yen_gas.svg);
}
.simulatorContainer .simSecond.gas .formCol.-amount:has(.simPtAmount:not(.hidden)):before {
  background-image: url(/denkigas/cmn/img/ico_gas.svg);
}
.simulatorContainer .simZipInput {
  width: 320px;
  text-align: left;
  vertical-align: top;
  margin: 0 auto;
}
.simulatorContainer .simZipInput > label {
  position: relative;
  display: block;
}
.simulatorContainer .simZipInput > label:before {
  content: "";
  display: block;
  background: url(/denkigas/cmn/img/ico_zip.svg) no-repeat left top;
  background-size: contain;
  position: absolute;
  left: 16px;
  top: calc(50% - 8px);
  width: 16px;
  height: 16px;
  z-index: 1;
  pointer-events: none;
}
.simulatorContainer .simZipInput input {
  padding: 16px 16px 16px 42px;
  position: relative;
}
.simulatorContainer .simZipLink {
  display: table;
  margin: 10px auto 0;
  font-size: var(--fsize16);
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.simulatorContainer .simZipAlert {
  margin-top: 5px 0 0;
  width: 100%;
}
.simulatorContainer .simevNotesOuter {
  letter-spacing: -1em;
  word-spacing: 0.1em;
  font-size: 0;
}
.simulatorContainer .simevNotes {
  text-align: left;
  display: inline-block;
  margin-top: 10px;
  max-width: 540px;
}
.simulatorContainer .simevNotes > li {
  font-size: var(--fsize12);
}
.simulatorContainer .simTab {
  letter-spacing: -1em;
  word-spacing: 0.1em;
  font-size: 0;
  width: 100%;
  position: relative;
  margin: 60px 0;
}
.simulatorContainer .simTab:before {
  content: "";
  width: 100%;
  height: 3px;
  background: #333;
  position: absolute;
  left: 0;
  bottom: 0;
}
.simulatorContainer .simTab li {
  display: inline-block;
  letter-spacing: normal;
  text-align: center;
  line-height: 1.4;
  width: 49%;
  box-sizing: border-box;
  font-weight: 500;
}
.simulatorContainer .simTab li a {
  display: block;
  width: 100%;
  position: relative;
  box-sizing: border-box;
  padding: 15px 0;
  color: #333;
  text-decoration: none;
  border-top: 3px solid #333;
  border-right: 3px solid #333;
  border-left: 3px solid #333;
  border-radius: 20px 20px 0 0;
  opacity: 0.5;
}
@media (any-hover: hover) {
  .simulatorContainer .simTab li a:hover {
    opacity: 1;
  }
}
.simulatorContainer .simTab li .large {
  font-size: var(--fsize22);
}
.simulatorContainer .simTab li .small {
  font-size: var(--fsize18);
}
.simulatorContainer .simTab li:first-child {
  margin-right: 2%;
}
.simulatorContainer .simTab li.select a {
  opacity: 1;
  background: #fff;
}
.simulatorContainer .simTab li.select a:before {
  content: "";
  width: 12px;
  height: 10px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background: #000;
  position: absolute;
  right: 20px;
  top: 50%;
  margin-top: -5px;
}
.simulatorContainer #simulator {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  text-align: left;
}
.simulatorContainer #noscriptArea p {
  margin: 24px 20px 30px 20px;
  text-align: center;
  font-weight: bold;
  font-size: var(--fsize18);
}
.simulatorContainer #errorLayer {
  z-index: 10;
  padding-top: 100px;
  text-align: center;
  font-weight: bold;
}
.simulatorContainer #errorLayer .errorTitle {
  font-size: var(--fsize26);
}
.simulatorContainer #errorLayer .errorText {
  margin: 24px auto 0 auto;
  max-width: 85%;
  font-size: var(--fsize16);
}
.simulatorContainer #errorLayer .layerCloseBtn {
  display: block;
  margin: 50px auto 0 auto;
  width: 180px;
  height: 40px;
}
.simulatorContainer #loading {
  z-index: 9;
}
.simulatorContainer #loading .loadingIndicator {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -16px;
  margin-left: -16px;
  display: block;
  width: 32px;
  height: 32px;
}
.simulatorContainer .formCol {
  width: 370px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-line-pack: center;
      align-content: center;
  box-sizing: border-box;
  position: relative;
}
.simulatorContainer .formCol.-month {
  width: 200px;
}
.simulatorContainer .formCol.-amount {
  width: 370px;
}
.simulatorContainer .formCol.-amount:before {
  content: "";
  width: 16px;
  height: 22px;
  background: url(/denkigas/cmn/img/ico_yen.svg) no-repeat left top;
  background-size: contain;
  position: absolute;
  left: 16px;
  top: 18px;
  pointer-events: none;
  z-index: 1;
}
.simulatorContainer .formCol.-amount:has(.simPtAmount):before {
  background: url(/denkigas/cmn/img/ico_bulb.svg) no-repeat left top;
  background-size: contain;
}
.simulatorContainer .formColTxt {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-line-pack: center;
      align-content: center;
}
.simulatorContainer .formColAlert {
  position: absolute;
  bottom: -32px;
  right: 0;
}
.simulatorContainer .formColOuter {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: stretch;
      align-items: stretch;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 0 40px;
  width: 100%;
  position: relative;
  margin-top: 40px;
}
.simulatorContainer .formColOuter.-btn {
  margin-top: 0;
  gap: 0 10px;
}
.simulatorContainer .formColOuter.-month {
  gap: 0 10px;
}
.simulatorContainer .formColOuter.-center {
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
}
.simulatorContainer .formColOuter + .formColOuter {
  margin-top: 10px;
}
.simulatorContainer .formColHead {
  font-size: var(--fsize18);
  font-weight: 500;
  line-height: 1.4;
  width: 140px;
  text-align: center;
}
.simulatorContainer .formColHead .s {
  font-size: var(--fsize12);
  font-weight: normal;
  display: block;
}
.simulatorContainer .formColAll {
  width: 100%;
  display: block;
  box-sizing: border-box;
  margin-top: 40px;
}
.simulatorContainer .formColCategory {
  font-size: var(--fsize22);
  font-weight: 500;
  line-height: 1.4;
  position: relative;
  display: table;
  margin: 0 auto;
  padding-left: 90px;
}
.simulatorContainer .formColCategory.-denki:before {
  content: "";
  width: 75px;
  height: 75px;
  background: url(../img/ico_denki.png) no-repeat center;
  background-size: contain;
  position: absolute;
  left: 0;
  top: calc(50% - 37px);
}
.simulatorContainer .formColCategory.-gas:before {
  content: "";
  width: 75px;
  height: 75px;
  background: url(../img/ico_gas.png) no-repeat center;
  background-size: contain;
  position: absolute;
  left: 0;
  top: calc(50% - 37px);
}
.simulatorContainer .stepHead {
  font-size: var(--fsize18);
  font-weight: 500;
  text-align: center;
  line-height: 1.6;
  background: #f0f0f0;
  color: #a8a8a8;
  border-radius: var(--radius2);
  padding: 20px;
  margin-bottom: 40px;
}
.simulatorContainer .stepHead .step {
  display: table;
  margin: 0 auto;
  background: #fff;
  color: #a8a8a8;
  font-size: var(--fsize16);
  line-height: 1;
  padding: 7px 20px 5px;
  border-radius: 100px;
  margin-bottom: 10px;
}
.simulatorContainer .stepHead.-active {
  background: var(--color-conv);
  color: #000;
}
.simulatorContainer .stepHead.-active .step {
  color: #000;
}
.simulatorContainer .formColTtl {
  margin-bottom: 10px;
  letter-spacing: 0.05em;
  font-size: var(--fsize18);
  font-weight: 500;
  line-height: 1.6;
  position: relative;
  padding-left: 20px;
  box-sizing: border-box;
}
.simulatorContainer .formColTtl:after {
  content: "";
  width: 10px;
  height: 10px;
  position: absolute;
  left: 5px;
  top: 50%;
  margin-top: -5px;
  border-radius: 50%;
  background: #000;
}
.simulatorContainer .formColTtl.-center {
  display: table;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
}
.simulatorContainer .formColTtl.-center:after {
  display: none;
}
.simulatorContainer .formColTtl .s {
  font-size: var(--fsize10);
}
.simulatorContainer .formColTtl.-s {
  font-size: var(--fsize10);
  line-height: 1.4;
}
.simulatorContainer .formColTtl.-s.-center {
  display: block;
  text-align: center;
}
.simulatorContainer .formColTtl.arDown {
  margin-bottom: 100px;
}
.simulatorContainer .formColNotes {
  margin-top: 5px;
}
.simulatorContainer .formColNotes.-sizeL li {
  font-size: var(--fsize12);
  letter-spacing: 0.05em;
}
.simulatorContainer .formColNotes.-mb {
  margin-top: 0;
  margin-bottom: 10px;
}
.simulatorContainer .formColNotes.-rightPc {
  text-align: right;
}
.simulatorContainer .formColNotes li {
  font-size: var(--fsize11);
  letter-spacing: 0.05em;
}
.simulatorContainer .simCapacitySelect {
  width: 320px;
  margin-right: 10px;
  display: inline-block;
  letter-spacing: 0.05em;
  vertical-align: middle;
  font-size: var(--fsize18);
}
.simulatorContainer .simCapacityTxt {
  display: inline-block;
  letter-spacing: 0.05em;
  vertical-align: middle;
  font-size: var(--fsize18);
}
.simulatorContainer .simPtFee {
  padding: 16px 16px 16px 42px !important;
}
.simulatorContainer .simPtAmount {
  padding: 16px 16px 16px 42px !important;
}
.simulatorContainer .simMonthList {
  text-align: center;
  position: relative;
  margin-top: 40px;
}
.simulatorContainer .simMonthListTtl {
  font-size: var(--fsize20);
  font-weight: 500;
  margin-bottom: 30px;
}
.simulatorContainer .simMonthListCol {
  background: #f0f0f0;
  border-radius: var(--radius1);
  box-sizing: border-box;
  padding: 20px 20px 40px;
  margin-top: 30px;
}
.simulatorContainer .simMonthListBox {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  gap: 20px 2%;
}
.simulatorContainer .simMonthListBox li {
  width: 49%;
  background: rgba(255, 255, 255, 0.3);
  padding: 10px 0;
  border-radius: var(--radius1);
}
.simulatorContainer .simMonthListBox li input {
  width: 140px;
  text-align: center;
  border: 2px solid #b3b3b3;
  border-radius: 5px;
  font-size: var(--fsize16);
}
.simulatorContainer .simMonthListBoxTtl {
  font-size: var(--fsize16);
  position: relative;
  display: table;
  margin: 0 auto;
}
.simulatorContainer .simMonthListBoxTtl:before {
  content: "";
  width: 40px;
  height: 1px;
  background: #ababab;
  position: absolute;
  left: -55px;
  top: 50%;
}
.simulatorContainer .simMonthListBoxTtl:after {
  content: "";
  width: 40px;
  height: 1px;
  background: #ababab;
  position: absolute;
  right: -55px;
  top: 50%;
}
.simulatorContainer .simMonthListBoxIn {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-flow: row nowrap;
      flex-flow: row nowrap;
  gap: 20px;
}
.simulatorContainer .simMonthListBoxHead {
  margin-right: 30px;
  font-size: var(--fsize16);
}
.simulatorContainer .simMonthListBoxTxt {
  font-size: var(--fsize16);
}
.simulatorContainer .simMonthListBoxInput {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 0 5px;
}
.simulatorContainer .simMonthListBoxAlert {
  margin: 10px auto 0;
}
.simulatorContainer .simBtnRecalc {
  font-size: var(--fsize20);
  font-weight: 500;
  padding: 0;
  line-height: 1.2;
  margin: 40px auto 0;
  height: 60px;
  background: #fff;
  border: 2px solid #b3b3b3;
  box-shadow: none;
  border-radius: var(--radius2);
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
}
.simulatorContainer .simBtnRecalc:before {
  content: "";
  width: 16px;
  height: 16px;
  position: absolute;
  right: 20px;
  top: calc(50% - 8px);
  background: url(/denkigas/cmn/img/ico_recalc.svg) no-repeat center;
  background-size: contain;
}
.simulatorContainer .simBtnPrice {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  margin: 20px auto 0;
  font-size: var(--fsize24);
  letter-spacing: 0.05em;
  font-weight: 500;
  padding: 0;
  background: var(--color-denki-key);
  box-shadow: 0 3px 0px var(--color-denki-key-shadow);
  line-height: 1.2;
  box-sizing: border-box;
  border-radius: var(--radius2);
}
.simulatorContainer .simAnser {
  padding: 0 0 3px;
}
.simulatorContainer .simBnr {
  width: 100%;
  max-width: 770px;
  display: block;
  border-radius: var(--radius2);
  overflow: hidden;
  margin-left: auto;
  margin-right: auto;
  margin-top: 40px;
}
.simulatorContainer .cpBnr {
  width: 100%;
  max-width: 560px;
  height: auto;
  text-align: center;
  position: relative;
  display: block;
  box-sizing: border-box;
  box-shadow: 0 6px 0 #000;
  border-radius: 20px;
  overflow: hidden;
  margin: 40px auto 0;
}
.simulatorContainer .cpBnr.cpBnr780 {
  max-width: 780px;
}
.simulatorContainer .bnrdenkigas {
  width: 100%;
  max-width: 770px;
  display: block;
  border-radius: 20px;
  overflow: hidden;
  margin-left: auto;
  margin-right: auto;
}
.simulatorContainer .simAnserPlan {
  border: 2px solid #f0f0f0;
  border-radius: var(--radius2);
  padding: 10px;
  text-align: center;
  position: relative;
  margin: 35px auto 130px;
}
.simulatorContainer .simAnserPlan:before {
  content: "";
  width: 80px;
  height: 60px;
  background: url(../img/ico_yajirushi.svg) no-repeat center;
  background-size: contain;
  position: absolute;
  left: calc(50% - 40px);
  bottom: -110px;
}
.simulatorContainer .simAnserPlanDenki {
  background: var(--color-denki-light);
  border-radius: var(--radius1);
  font-size: var(--fsize18);
  font-weight: 500;
  line-height: 1.4;
  padding: 20px;
  position: relative;
}
.simulatorContainer .simAnserPlanDenki .s {
  font-size: var(--fsize12);
}
.simulatorContainer .simAnserPlanDenki .plus {
  display: none;
}
.simulatorContainer .simAnserPlanDenki:has(+ .simAnserPlanGas) {
  margin-bottom: 10px;
}
.simulatorContainer .simAnserPlanDenki:has(+ .simAnserPlanGas) .plus {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  background: url(/denkigas/cmn/img/ico_plus.svg) no-repeat center;
  background-size: contain;
  position: absolute;
  left: calc(50% - 15px);
  bottom: -20px;
  z-index: 1;
}
.simulatorContainer .simAnserPlanGas {
  background: var(--color-gas-light);
  border-radius: var(--radius1);
  font-size: var(--fsize18);
  font-weight: 500;
  line-height: 1.4;
  padding: 20px;
  position: relative;
}
.simulatorContainer .simAnserPlanGas .s {
  font-size: var(--fsize12);
}
.simulatorContainer .simAnserPlanTxt {
  position: absolute;
  left: calc(50% - 80px);
  bottom: -30px;
  font-size: var(--fsize16);
  font-weight: 500;
  line-height: 1;
  width: 160px;
}
.simulatorContainer .simAnserTtl {
  background: url(/denkigas/cmn/img/simulator_bg.png) repeat center top #ffd000;
  background-size: 120% auto;
  text-align: center;
  padding: 20px;
  border-radius: var(--radius2);
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-flow: column wrap;
      flex-flow: column wrap;
  gap: 10px;
  position: relative;
}
.simulatorContainer .simAnserTtl.-cp {
  background-color: #8dee84;
}
.simulatorContainer .simAnserTtl.-plus {
  margin-top: 100px;
}
.simulatorContainer .simAnserTtl.-plus:before {
  content: "";
  width: 60px;
  height: 14px;
  background: var(--color-denki-key);
  border-radius: var(--radius1);
  position: absolute;
  left: calc(50% - 30px);
  top: -60px;
}
.simulatorContainer .simAnserTtl.-plus:after {
  content: "";
  width: 14px;
  height: 60px;
  background: var(--color-denki-key);
  border-radius: var(--radius1);
  position: absolute;
  left: calc(50% - 7px);
  top: -83px;
}
.simulatorContainer .simAnserTtl.-ar {
  margin-top: 100px;
}
.simulatorContainer .simAnserTtl.-ar:before {
  content: "";
  width: 80px;
  height: 60px;
  background: url(../img/ico_yajirushi.svg) no-repeat center;
  background-size: contain;
  position: absolute;
  left: calc(50% - 40px);
  top: -80px;
}
.simulatorContainer .simAnserTtlTxt1 {
  font-weight: bold;
  line-height: 1.4;
  font-size: var(--fsize20);
}
.simulatorContainer .simAnserDate {
  font-size: var(--fsize16);
  background: #fff;
  padding: 4px 20px;
  border-radius: 40px;
}
.simulatorContainer .simAnserTtlTxt2 {
  font-weight: bold;
  line-height: 1.4;
  font-size: var(--fsize16);
}
.simulatorContainer .simAnserTtlTxt3 {
  font-weight: bold;
  line-height: 1.4;
  font-size: var(--fsize12);
}
.simulatorContainer .simAnserTtlPrice {
  width: 100%;
  box-sizing: border-box;
  background: #fff;
  border: 3px solid #000;
  border-radius: var(--radius2);
  color: #ec0000;
  font-size: var(--fsize72);
  letter-spacing: 0;
  font-weight: bold;
  line-height: 1.4;
  padding-bottom: 10px;
}
.simulatorContainer .simAnserTtlPrice .lineY:after {
  bottom: 14px;
  height: 14px;
}
.simulatorContainer .simAnserTtlPrice .txtS {
  font-size: var(--fsize20);
  color: #000;
  margin: 0 0.3em 0 0.1em;
}
.simulatorContainer .simAnserLuNotes {
  margin-top: 10px;
  display: inline-block;
}
.simulatorContainer .simAnserLuNotes.listcenter {
  text-align: center !important;
  display: block;
}
.simulatorContainer .simAnserLuNotes > li {
  font-size: var(--fsize12);
}
.simulatorContainer .simAnserLuNotes.-head {
  text-align: center;
}
.simulatorContainer .simAnserOtokuHead {
  font-size: var(--fsize20);
  line-height: 1.4;
  font-weight: 500;
  margin: 0 auto;
  display: table;
  position: relative;
  text-align: center;
}
.simulatorContainer .simAnserOtoku {
  border: 2px solid #b0b0b0;
  border-radius: var(--radius2);
  padding: 6px;
  box-sizing: border-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: stretch;
      align-items: stretch;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  text-align: center;
  gap: 0 1%;
  margin-top: 60px;
}
.simulatorContainer .simAnserOtoku .txtS {
  font-size: var(--fsize14);
}
.simulatorContainer .simAnserOtoku .txtM {
  font-size: var(--fsize20);
}
.simulatorContainer .simAnserOtoku .txtL {
  font-size: var(--fsize26);
  color: #ec0000;
}
.simulatorContainer .simAnserOtoku .head {
  position: absolute;
  left: 0;
  top: -40px;
  text-align: center;
  display: block;
  width: 100%;
}
.simulatorContainer .simAnserOtoku.-gas .simAnserOtokuTh {
  background: var(--color-gas-light);
}
.simulatorContainer .simAnserOtokuTh {
  width: 16%;
  background: var(--color-denki-light);
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  border-radius: var(--radius1);
  padding: 30px 0;
  line-height: 1.2;
}
.simulatorContainer .simAnserOtokuBefore,
.simulatorContainer .simAnserOtokuAfter {
  width: 24.5%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-direction: column;
      flex-direction: column;
  box-sizing: border-box;
  position: relative;
  border-right: 2px solid #b0b0b0;
  line-height: 1.4;
}
.simulatorContainer .simAnserOtokuDiff {
  width: 32%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-direction: column;
      flex-direction: column;
  box-sizing: border-box;
  position: relative;
  line-height: 1.3;
}
.simulatorContainer .simAnserOtokuDiff .lineY:after {
  height: 7px;
}
.simulatorContainer .simBtnLink {
  font-size: var(--fsize18);
  padding: 20px 0 0 0;
  line-height: 1.2;
  margin: 60px auto 0;
  height: 60px;
}
.simulatorContainer .simBtnLink + .simBtnLink {
  margin: 20px auto 0;
}
.simulatorContainer .simBtnLink.-gas {
  background: #cce8f7;
  box-shadow: 0 3px 0 #98b3c1;
}
.simulatorContainer .simBtnLink i {
  color: #000;
  font-size: var(--fsize18);
  position: absolute;
  right: 20px;
  top: 50%;
  margin-top: -9px;
  letter-spacing: normal;
}
.simulatorContainer .simAnserMonthHead {
  text-align: center;
  font-size: var(--fsize14);
  font-weight: 500;
  margin: 40px auto 0;
  position: relative;
  display: table;
}
.simulatorContainer .simAnserMonthHead:before {
  content: "";
  width: 20px;
  height: 1px;
  transform: rotate(45deg);
  background: #000;
  position: absolute;
  left: -24px;
  top: 50%;
}
.simulatorContainer .simAnserMonthHead:after {
  content: "";
  width: 20px;
  height: 1px;
  transform: rotate(-45deg);
  background: #000;
  position: absolute;
  right: -22px;
  top: 50%;
}
.simulatorContainer .simAnserMonth {
  text-align: center;
  margin-top: 10px;
}
.simulatorContainer .simAnserMonthTtl {
  margin-bottom: 30px;
  font-size: var(--fsize20);
  line-height: 1;
  font-weight: 500;
  display: inline-block;
  padding: 14px 64px 14px 30px;
  background: #f0f0f0;
  border: 2px solid #000;
  border-radius: var(--radius2);
}
.simulatorContainer .simAnserMonthTtl > a {
  color: #333;
}
.simulatorContainer .simAnserMonthTtl > a:hover {
  text-decoration: none;
}
.simulatorContainer .simAnserMonthTableHead {
  font-size: var(--fsize20);
  font-weight: 500;
}
.simulatorContainer .simAnserMonthTableHead.-gas {
  margin-top: 40px;
}
.simulatorContainer .simAnserMonthTableOuter {
  width: 100%;
  white-space: nowrap;
  margin-top: 10px;
}
.simulatorContainer .simAnserMonthTable {
  text-align: center;
  width: 1000px;
}
.simulatorContainer .simAnserMonthTable:after {
  content: "";
  width: 10%;
  height: 100%;
  display: block;
}
.simulatorContainer .simAnserMonthTable .head {
  min-width: 100px;
}
.simulatorContainer .simAnserMonthTable .head .before {
  background: #7f7f7f;
  border-radius: 20px;
  color: #fff;
  width: 120px;
  margin: 0 auto 5px;
}
.simulatorContainer .simAnserMonthTable .head .after {
  background: var(--color-y);
  border-radius: 20px;
  color: #000;
  width: 120px;
  margin: 0 auto 5px;
}
.simulatorContainer .simAnserMonthTable .bgY {
  background: #fff7c2;
}
.simulatorContainer .simAnserMonthTable .bgY.head {
  background: var(--color-denki-light);
}
.simulatorContainer .simAnserMonthTable.-gas .head .after {
  background: var(--color-gas);
  color: #fff;
}
.simulatorContainer .simAnserMonthTable.-gas .bgY {
  background: var(--color-gas-light2);
}
.simulatorContainer .simAnserMonthTable.-gas .bgY.head {
  background: var(--color-gas-light);
}
.simulatorContainer .simYearOuter {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  gap: 20px;
}
.simulatorContainer .simYear {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  border-radius: var(--radius1);
  padding: 10px 20px;
  line-height: 1;
  gap: 10px;
  min-width: 260px;
  box-sizing: border-box;
  background: var(--color-denki-light);
}
.simulatorContainer .simYear.-gas {
  background: var(--color-gas-light);
}
.simulatorContainer .simYearTxt {
  font-size: var(--fsize16);
  font-weight: 500;
}
.simulatorContainer .simYearAmount {
  background: #fff;
  border-radius: var(--radius1);
  padding: 15px;
  font-size: var(--fsize24);
  font-weight: 500;
}
.simulatorContainer .simMonthListColTxt {
  font-size: var(--fsize16);
  margin-bottom: 30px;
}
.simulatorContainer .simAnserDealsTtl {
  font-size: var(--fsize20);
  font-weight: 500;
  line-height: 1.4;
  display: table;
  text-align: center;
  margin: 40px auto 20px;
}
.simulatorContainer .entry_btn_denkigas {
  font-size: var(--fsize20);
  font-weight: 500;
  padding-right: 20px;
  margin: 0 auto 23px;
}
.simulatorContainer .entry_btn_denkigas > .ico {
  width: 45px;
  height: 38px;
  background: url(/denkigas/cmn/img/ico_denkigas_img.svg) no-repeat center;
  background-size: contain;
  margin-right: 10px;
}
.simulatorContainer .entry_btn_denki {
  padding-right: 10px;
  font-size: var(--fsize20);
  font-weight: 500;
  margin: 0 auto 23px;
}
.simulatorContainer .entry_btn_denki > .ico {
  width: 23px;
  height: 38px;
  background: url(/denkigas/cmn/img/ico_denki_img.svg) no-repeat center;
  background-size: contain;
  margin-right: 10px;
}
.simulatorContainer .entry_btn_gas {
  padding-right: 10px;
  font-size: var(--fsize20);
  font-weight: 500;
  margin: 0 auto 23px;
}
.simulatorContainer .entry_btn_gas > .ico {
  width: 21px;
  height: 36px;
  background: url(/denkigas/cmn/img/ico_gas_img.svg) no-repeat center;
  background-size: contain;
  margin-right: 10px;
}
.simulatorContainer .simBtnOther {
  margin: 40px auto 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  gap: 10px 1%;
  width: 100;
}
.simulatorContainer .simBtnOther li {
  width: 32.66666%;
  height: 60px;
}
.simulatorContainer .simBtnOther li a {
  box-sizing: border-box;
  border: 2px solid #dbdbdb;
  box-shadow: none;
  background: #fff;
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: var(--radius2);
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
}
.simulatorContainer .simBtnOther li a img {
  width: 230px;
  height: auto;
}
.simulatorContainer .simBtnOther li.denki img {
  width: 148px;
}
.simulatorContainer .simBtnOther li.denki a:before {
  content: "";
  width: 14px;
  height: 14px;
  background: url(/denkigas/cmn/img/ico_blank_g.svg) no-repeat center;
  background-size: contain;
  position: absolute;
  right: 10px;
  top: calc(50% - 7px);
}
.simulatorContainer .simBtnOther li.gas img {
  width: 171px;
}
.simulatorContainer .simBtnOther li.gas a:before {
  content: "";
  width: 14px;
  height: 14px;
  background: url(/denkigas/cmn/img/ico_blank_g.svg) no-repeat center;
  background-size: contain;
  position: absolute;
  right: 10px;
  top: calc(50% - 7px);
}
.simulatorContainer .simBtmNotes {
  margin-top: 60px;
  position: relative;
}
.simulatorContainer .simAnserNotes {
  margin-top: 30px;
  text-align: left;
}
.simulatorContainer .simAnserNotes > li:not(:first-child) {
  margin-top: 5px;
}
.simulatorContainer .simEv {
  text-align: left;
  margin: 43px 0 40px;
}
.simulatorContainer .simEvTtl {
  text-align: center;
  font-size: var(--fsize20);
  font-weight: bold;
  margin-bottom: 20px;
}
.simulatorContainer .simEvTab {
  margin-top: 40px;
}
.simulatorContainer .simEvTab > li {
  width: 32.8%;
  font-size: var(--fsize20);
}
.simulatorContainer .simEvTab > li:not(:first-child) {
  margin-left: 0.8%;
}
.simulatorContainer .simEvRead {
  text-align: center;
  font-size: var(--fsize18);
  margin-bottom: 30px;
}
.simulatorContainer .simEvStep {
  padding: 40px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 3.96825%;
}
.simulatorContainer .simEvStep.-column {
  -ms-flex-align: start;
      align-items: flex-start;
  -ms-flex-direction: column;
      flex-direction: column;
}
.simulatorContainer .simEvStepCol1 {
  text-align: left;
  width: 49.20634%;
}
.simulatorContainer .simEvStepCol2 {
  max-width: 354px;
  width: 46.82539%;
}
.simulatorContainer .simEvStepNum {
  width: 76px;
  margin-bottom: 10px;
}
.simulatorContainer .simEvStepTxt {
  font-size: var(--fsize16);
  line-height: 1.6;
}
.simulatorContainer .simEvStepTxt.-mt {
  margin-top: 10px;
}
.simulatorContainer .simEvStepEntry {
  font-size: var(--fsize20);
  font-weight: bold;
  line-height: 1.2;
  padding: 27px 0 0 12%;
}
.simulatorContainer .simEvStepEntry.-col2 {
  padding-top: 16px;
}
.simulatorContainer .simEvStepEntry i {
  font-size: var(--fsize16);
  position: absolute;
  right: 15px;
  top: calc(50% - 8px);
}

@media screen and (max-width: 1024px) {
  .footerFixed > a:before {
    right: 20px;
    top: calc(50% - 12px);
    width: 24px;
    height: 24px;
  }
  .footerFixedBtnEntry {
    width: 100% !important;
    padding-left: 0 !important;
  }
  .simhead {
    border-radius: 40px 40px 0 0;
  }
  .simhead img {
    height: 158px;
  }
  .simhead:before {
    left: calc(50% - 320px);
    bottom: -20px;
    width: 130px;
    height: 130px;
  }
  .simhead:after {
    left: calc(50% + 190px);
    bottom: -20px;
    width: 130px;
    height: 130px;
  }
  .simulatorContainer .simMessageHead {
    font-size: clamp(0px, 4.17vw, var(--fsize32));
  }
  .simulatorContainer .simMessageTxt {
    font-size: clamp(0px, 3.65vw, var(--fsize28));
    text-align: left;
  }
  .simulatorContainer .simBtnDisable {
    box-shadow: 0 8px 0 #b6b6b6 !important;
  }
  .simulatorContainer .simTab {
    margin: 60px 0;
  }
  .simulatorContainer .simTab:before {
    height: 3px;
  }
  .simulatorContainer .simTab li a {
    padding: 20px 0;
    border-top: 3px solid #333;
    border-right: 3px solid #333;
    border-left: 3px solid #333;
    border-radius: 20px 20px 0 0;
  }
  .simulatorContainer .simTab li .large {
    font-size: var(--fsize28);
  }
  .simulatorContainer .simTab li .small {
    font-size: var(--fsize20);
  }
  .simulatorContainer .simTab li.select a:before {
    width: 12px;
    height: 10px;
    right: 20px;
    top: 50%;
    margin-top: -5px;
  }
  .simulatorContainer .selectCol:before {
    width: 28px;
    height: 28px;
    left: 28px;
    top: calc(50% - 14px);
  }
  .simulatorContainer .formBtn {
    -ms-flex: 1;
        flex: 1;
    font-size: var(--fsize28);
    min-height: 120px;
    border: 3px solid #dcdcdc;
  }
  .simulatorContainer .formBtn.-s {
    font-size: var(--fsize24);
    width: 32%;
  }
  .simulatorContainer .formBtn.-blank {
    padding: 10px 5px;
    opacity: 1;
  }
  .simulatorContainer .formBtn.-full {
    width: 100%;
    margin: 20px auto 0;
    font-size: var(--fsize28);
  }
  .simulatorContainer .formBtn.-radio {
    background: rgba(255, 255, 255, 0.4);
  }
  .simulatorContainer .formBtn.-radio:before {
    width: 18px;
    height: 18px;
    left: 12px;
    top: calc(50% - 9px);
  }
  .simulatorContainer .formBtn.-radio.checked:before {
    border: 6px solid #fff;
    background: #000;
  }
  .simulatorContainer .formBtn.-check:before {
    width: 16px;
    height: 16px;
    border-radius: 5px;
    border: 2px solid #efefef;
    left: 10px;
    top: calc(50% - 8px);
  }
  .simulatorContainer .formBtn.-check.checked:before {
    background: #fff;
    border: none;
  }
  .simulatorContainer .formBtn.-check.checked:after {
    width: 11px;
    height: 5px;
    border-left: 2px solid #000;
    border-bottom: 2px solid #000;
    left: 11px;
    top: calc(50% - 6px);
  }
  .simulatorContainer .formBtn > input[type=radio],
  .simulatorContainer .formBtn > input[type=checkbox] {
    display: none;
  }
  .simulatorContainer .stepHead {
    font-size: var(--fsize28);
    padding: 20px;
    margin-bottom: 40px;
  }
  .simulatorContainer .stepHead .step {
    font-size: var(--fsize28);
    padding: 12px 30px 10px;
    margin-bottom: 10px;
  }
  .simulatorContainer .stepHead.-active {
    background: var(--color-conv);
    color: #000;
  }
  .simulatorContainer .stepHead.-active .step {
    color: #000;
  }
  .simulatorContainer .formColTtl {
    margin-bottom: 10px;
    font-size: var(--fsize28);
    padding-left: 40px;
    box-sizing: border-box;
  }
  .simulatorContainer .formColTtl:after {
    width: 20px;
    height: 20px;
    left: 10px;
    top: 50%;
    margin-top: -10px;
  }
  .simulatorContainer .formColTtl .s {
    font-size: var(--fsize20);
  }
  .simulatorContainer .formColTtl.-s {
    font-size: var(--fsize20);
  }
  .simulatorContainer .formColTtl.arDown {
    margin-bottom: 100px;
  }
  .simulatorContainer .formColHead {
    width: 32%;
    font-size: var(--fsize24);
    letter-spacing: 0;
  }
  .simulatorContainer .formColHead .s {
    font-size: var(--fsize20);
  }
  .simulatorContainer .simAlert {
    background: var(--color-alert);
    padding: 12px 20px;
    font-size: var(--fsize24);
    margin-top: 10px;
  }
  .simulatorContainer .simZipInput {
    width: 100%;
  }
  .simulatorContainer .simZipInput > label:before {
    left: 32px;
    top: calc(50% - 16px);
    width: 32px;
    height: 32px;
  }
  .simulatorContainer .simZipInput input {
    padding: 30px 30px 30px 84px;
    position: relative;
  }
  .simulatorContainer .simevNotes {
    margin-top: 20px;
    max-width: 100%;
  }
  .simulatorContainer .simevNotes > li {
    font-size: var(--fsize20);
  }
  .simulatorContainer .simBtnPrice {
    font-size: var(--fsize36);
    box-shadow: 0 8px 0px var(--color-denki-key-shadow);
    box-sizing: border-box;
    margin-top: 40px;
  }
  .simulatorContainer .simZipLink {
    margin: 20px auto 0;
    font-size: var(--fsize28);
  }
  .simulatorContainer .simFirst {
    padding-bottom: 60px;
  }
  .simulatorContainer .simSecond {
    padding-bottom: 40px;
    border-bottom: 2px solid #f0f0f0;
  }
  .simulatorContainer .simSecond.denki .formColTtl:before {
    background: var(--color-denki);
  }
  .simulatorContainer .simSecond.denki .selectCol:before {
    width: 28px;
    height: 28px;
  }
  .simulatorContainer .simSecond.denki .formCol.-amount:before {
    background-image: url(/denkigas/cmn/img/ico_yen_denki.svg);
  }
  .simulatorContainer .simSecond.denki .formCol.-amount:has(.simPtAmount:not(.hidden)):before {
    background-image: url(/denkigas/cmn/img/ico_bulb.svg);
  }
  .simulatorContainer .formColCategory {
    font-size: var(--fsize32);
    padding-left: 120px;
  }
  .simulatorContainer .formColCategory.-denki:before {
    width: 100px;
    height: 100px;
    left: 0;
    top: calc(50% - 50px);
  }
  .simulatorContainer .formColCategory.-gas:before {
    width: 100px;
    height: 100px;
    left: 0;
    top: calc(50% - 50px);
  }
  .simulatorContainer .formColTxt {
    font-size: var(--fsize28);
  }
  .simulatorContainer .formColOuter {
    width: 100%;
    gap: 0;
    position: relative;
    -ms-flex-flow: column nowrap;
        flex-flow: column nowrap;
    margin-top: 40px;
  }
  .simulatorContainer .formColOuter.-month {
    gap: 10px;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    -ms-flex-align: start;
        align-items: flex-start;
  }
  .simulatorContainer .formColOuter.-month .formColTxt {
    margin-top: 24px;
  }
  .simulatorContainer .formColOuter.-btn {
    gap: 0 2%;
    -ms-flex-flow: row nowrap;
        flex-flow: row nowrap;
  }
  .simulatorContainer .formColOuter:has(.-capacity) {
    gap: 0 2%;
  }
  .simulatorContainer .formColOuter + .formColOuter {
    margin-top: 20px;
  }
  .simulatorContainer .formCol {
    width: 100%;
    display: block;
  }
  .simulatorContainer .formCol.-month {
    width: 60%;
  }
  .simulatorContainer .formCol.-amount {
    width: 80%;
  }
  .simulatorContainer .formCol.-amount:before {
    width: 28px;
    height: 40px;
    left: 28px;
    top: 36px;
  }
  .simulatorContainer .formCol.-capacity {
    margin-top: 40px;
  }
  .simulatorContainer .simCapacity {
    width: 100%;
  }
  .simulatorContainer .simCapacitySelect {
    max-width: 400px;
    width: 90%;
    margin-right: 2%;
  }
  .simulatorContainer .simCapacityTxt {
    font-size: var(--fsize28);
  }
  .simulatorContainer .simPtFee {
    padding: 30px 30px 30px 84px !important;
  }
  .simulatorContainer .simPtAmount {
    padding: 30px 30px 30px 84px !important;
  }
  .simulatorContainer .formColAlert {
    position: relative;
    bottom: auto;
    right: auto;
  }
  .simulatorContainer .simAnserPlan {
    padding: 10px;
    margin: 45px auto 130px;
  }
  .simulatorContainer .simAnserPlan:before {
    width: 80px;
    height: 60px;
    left: calc(50% - 40px);
    bottom: -120px;
  }
  .simulatorContainer .simAnserPlanDenki {
    font-size: var(--fsize24);
    padding: 40px;
  }
  .simulatorContainer .simAnserPlanDenki .s {
    font-size: var(--fsize20);
  }
  .simulatorContainer .simAnserPlanDenki:has(+ .simAnserPlanGas) {
    margin-bottom: 10px;
  }
  .simulatorContainer .simAnserPlanDenki:has(+ .simAnserPlanGas) .plus {
    width: 50px;
    height: 50px;
    left: calc(50% - 25px);
    bottom: -30px;
  }
  .simulatorContainer .simAnserPlanGas {
    font-size: var(--fsize24);
    padding: 40px;
  }
  .simulatorContainer .simAnserPlanGas .s {
    font-size: var(--fsize20);
  }
  .simulatorContainer .simAnserPlanTxt {
    position: absolute;
    left: calc(50% - 150px);
    bottom: -45px;
    font-size: var(--fsize28);
    width: 320px;
  }
  .simulatorContainer .simAnserTtl {
    background-size: 200% auto;
    padding: 20px;
    gap: 10px;
  }
  .simulatorContainer .simAnserTtl.-plus {
    margin-top: 100px;
  }
  .simulatorContainer .simAnserTtl.-plus:before {
    content: "";
    width: 60px;
    height: 14px;
    background: var(--color-denki-key);
    border-radius: var(--radius1);
    position: absolute;
    left: calc(50% - 30px);
    top: -60px;
  }
  .simulatorContainer .simAnserTtl.-plus:after {
    content: "";
    width: 14px;
    height: 60px;
    background: var(--color-denki-key);
    border-radius: var(--radius1);
    position: absolute;
    left: calc(50% - 7px);
    top: -83px;
  }
  .simulatorContainer .simAnserTtl.-ar {
    margin-top: 100px;
  }
  .simulatorContainer .simAnserTtl.-ar:before {
    content: "";
    width: 80px;
    height: 60px;
    background: url(../img/ico_yajirushi.svg) no-repeat center;
    background-size: contain;
    position: absolute;
    left: calc(50% - 40px);
    top: -80px;
  }
  .simulatorContainer .simAnserTtlTxt1 {
    font-size: var(--fsize28);
  }
  .simulatorContainer .simAnserDate {
    font-size: var(--fsize24);
    background: #fff;
    padding: 4px 20px;
  }
  .simulatorContainer .simAnserTtlTxt2 {
    font-size: var(--fsize24);
  }
  .simulatorContainer .simAnserTtlTxt3 {
    font-size: var(--fsize20);
  }
  .simulatorContainer .simAnserTtlPrice {
    border: 3px solid #000;
    font-size: var(--fsize72);
    padding-bottom: 10px;
  }
  .simulatorContainer .simAnserTtlPrice .lineY:after {
    bottom: 14px;
    height: 14px;
  }
  .simulatorContainer .simAnserTtlPrice .txtS {
    font-size: var(--fsize24);
    margin: 0 0.3em 0 0.1em;
  }
  .simulatorContainer .simAnserLuNotes {
    margin-top: 10px;
  }
  .simulatorContainer .simAnserLuNotes > li {
    text-align: left;
    font-size: var(--fsize20);
  }
  .simulatorContainer .simAnserLuNotes.-head {
    text-align: center;
  }
  .simulatorContainer .simAnserOtokuHead {
    font-size: var(--fsize28);
  }
  .simulatorContainer .simAnserOtoku {
    padding: 12px;
    gap: 10px;
    text-align: center;
    letter-spacing: 0;
    border-color: #f0f0f0;
    margin-top: 20px;
  }
  .simulatorContainer .simAnserOtoku .txtS {
    font-size: var(--fsize20);
  }
  .simulatorContainer .simAnserOtoku .txtM {
    font-size: var(--fsize24);
  }
  .simulatorContainer .simAnserOtoku .txtL {
    font-size: var(--fsize32);
  }
  .simulatorContainer .simAnserOtoku .head {
    position: relative;
    left: auto;
    top: auto;
    width: 35%;
    font-size: var(--fsize20);
    letter-spacing: 0;
    background: #f0f0f0;
    border-radius: 10px 0 0 10px;
    padding: 15px 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
  }
  .simulatorContainer .simAnserOtoku .txt {
    width: 60%;
    line-height: 1.2;
    background: #f0f0f0;
    border-radius: 0 10px 10px 0;
    padding: 15px 0;
    -ms-flex: 1;
        flex: 1;
  }
  .simulatorContainer .simAnserOtokuTh {
    padding: 15px 0;
    width: 100%;
  }
  .simulatorContainer .simAnserOtokuBefore,
  .simulatorContainer .simAnserOtokuAfter {
    width: 100%;
    box-sizing: border-box;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: stretch;
        align-items: stretch;
    gap: 1%;
    border-right: none;
  }
  .simulatorContainer .simAnserOtokuAfter {
    margin-bottom: 10px;
  }
  .simulatorContainer .simAnserOtokuAfter:before {
    content: "";
    width: 30px;
    height: 12px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background: var(--color-denki-key);
    position: absolute;
    left: calc(50% + 10vw);
    bottom: -16px;
  }
  .simulatorContainer .simAnserOtokuDiff {
    width: 100%;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: stretch;
        align-items: stretch;
    gap: 1%;
    border-right: none;
  }
  .simulatorContainer .simAnserOtokuDiff .lineY:after {
    display: none;
  }
  .simulatorContainer .simAnserOtokuDiff .lineYSP {
    position: relative;
    z-index: 1;
  }
  .simulatorContainer .simAnserOtokuDiff .lineYSP:after {
    content: "";
    width: 100%;
    height: 5px;
    background: var(--color-y);
    position: absolute;
    left: 0;
    bottom: 2px;
    z-index: -1;
  }
  .simulatorContainer .simAnserOtokuDiff .head,
  .simulatorContainer .simAnserOtokuDiff .txt {
    background: #e3f6e1;
    padding: 15px 0;
  }
  .simulatorContainer .simAnserMonthHead {
    font-size: var(--fsize24);
    margin: 40px auto 0;
  }
  .simulatorContainer .simAnserMonthHead:before {
    width: 30px;
    transform: rotate(55deg);
    left: -34px;
  }
  .simulatorContainer .simAnserMonthHead:after {
    width: 30px;
    transform: rotate(-55deg);
    right: -32px;
  }
  .simulatorContainer .simAnserMonth {
    text-align: center;
    margin-top: 10px;
  }
  .simulatorContainer .simAnserMonthTtl {
    margin-bottom: 20px;
    font-size: var(--fsize24) !important;
    display: inline-block;
    padding: 14px 54px 14px 20px;
    background: #f0f0f0;
    border: 2px solid #000;
  }
  .simulatorContainer .simAnserMonthTtl > a {
    color: #333;
  }
  .simulatorContainer .simAnserMonthTtl > a:hover {
    text-decoration: none;
  }
  .simulatorContainer .simAnserMonthTableHead {
    font-size: var(--fsize24);
  }
  .simulatorContainer .simAnserMonthTableHead.-gas {
    margin-top: 20px;
  }
  .simulatorContainer .simMonthList {
    margin-top: 40px;
  }
  .simulatorContainer .simMonthListColTxt {
    font-size: var(--fsize24);
    text-align: left;
    margin-bottom: 20px;
  }
  .simulatorContainer .simMonthListTtl {
    font-size: var(--fsize28);
    margin-bottom: 20px;
  }
  .simulatorContainer .simYearOuter {
    gap: 2%;
  }
  .simulatorContainer .simYear {
    padding: 10px 20px;
    gap: 10px;
    width: 49%;
    min-width: 49%;
  }
  .simulatorContainer .simYearTxt {
    font-size: var(--fsize20);
  }
  .simulatorContainer .simYearAmount {
    padding: 15px;
    font-size: var(--fsize28);
  }
  .simulatorContainer .simAnserDealsTtl {
    font-size: var(--fsize28);
    margin: 40px auto 20px;
  }
  .simulatorContainer .simMonthListCol {
    padding: 10px 20px 40px;
    margin-top: 30px;
  }
  .simulatorContainer .simMonthListBox {
    gap: 10px;
  }
  .simulatorContainer .simMonthListBox li {
    background: none;
    border-bottom: 1px solid #fff;
    width: 100%;
    padding: 20px 0;
  }
  .simulatorContainer .simMonthListBox li input {
    border-radius: var(--radius1);
    width: 80%;
    font-size: var(--fsize32);
  }
  .simulatorContainer .simMonthListBoxTtl {
    font-size: var(--fsize24);
  }
  .simulatorContainer .simMonthListBoxTtl:before, .simulatorContainer .simMonthListBoxTtl:after {
    display: none;
  }
  .simulatorContainer .simMonthListBoxIn {
    gap: 20px;
  }
  .simulatorContainer .simMonthListBoxHead {
    margin-right: 30px;
    font-size: var(--fsize20);
  }
  .simulatorContainer .simMonthListBoxTxt {
    font-size: var(--fsize20);
  }
  .simulatorContainer .simMonthListBoxInput {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    gap: 0 5px;
  }
  .simulatorContainer .simMonthListBoxAlert {
    margin: 20px auto 0;
  }
  .simulatorContainer .simBtnRecalc {
    font-size: var(--fsize28);
    margin: 40px auto 0;
    height: 100px;
    border: 2px solid #b3b3b3;
  }
  .simulatorContainer .simBtnRecalc:before {
    width: 24px;
    height: 24px;
    right: 30px;
    top: calc(50% - 12px);
  }
  .simulatorContainer .entry_btn_denkigas {
    font-size: var(--fsize32);
    padding-right: 50px;
    margin: 0 auto 28px;
  }
  .simulatorContainer .entry_btn_denkigas > .ico {
    width: 90px;
    height: 76px;
    margin-right: 20px;
  }
  .simulatorContainer .entry_btn_denki {
    padding-right: 30px;
    font-size: var(--fsize32);
    margin: 0 auto 28px;
  }
  .simulatorContainer .entry_btn_denki > .ico {
    width: 46px;
    height: 76px;
    margin-right: 20px;
  }
  .simulatorContainer .entry_btn_gas {
    padding-right: 30px;
    font-size: var(--fsize32);
    margin: 0 auto 28px;
  }
  .simulatorContainer .entry_btn_gas > .ico {
    width: 42px;
    height: 72px;
    margin-right: 10px;
  }
  .simulatorContainer .simBtnOther {
    margin: 40px auto 0;
    gap: 18px 2%;
  }
  .simulatorContainer .simBtnOther li {
    width: 60%;
    height: 100px;
  }
  .simulatorContainer .simBtnOther li a img {
    width: 290px;
  }
  .simulatorContainer .simBtnOther li.denki {
    width: 49%;
  }
  .simulatorContainer .simBtnOther li.denki img {
    width: 188px;
  }
  .simulatorContainer .simBtnOther li.denki a:before {
    width: 20px;
    height: 20px;
    right: 10px;
    top: calc(50% - 10px);
  }
  .simulatorContainer .simBtnOther li.gas {
    width: 49%;
  }
  .simulatorContainer .simBtnOther li.gas img {
    width: 211px;
  }
  .simulatorContainer .simBtnOther li.gas a:before {
    width: 20px;
    height: 20px;
    right: 10px;
    top: calc(50% - 10px);
  }
}
@media screen and (max-width: 767px) {
  .footerFixed > a:before {
    right: 2.61vw;
    top: calc(50% - 1.56vw);
    width: 3.13vw;
    height: 3.13vw;
  }
  .footerFixedBtnEntry {
    font-size: 4.17vw !important;
    padding-left: 5.22vw;
  }
  .simhead {
    border-radius: 5.22vw 5.22vw 0 0;
  }
  .simhead img {
    height: 20.6vw;
  }
  .simhead:before {
    left: calc(50% - 41.72vw);
    bottom: -2.61vw;
    width: 16.95vw;
    height: 16.95vw;
  }
  .simhead:after {
    left: calc(50% + 24.77vw);
    bottom: -2.61vw;
    width: 16.95vw;
    height: 16.95vw;
  }
  .simulatorContainer {
    padding-bottom: 2.09vw;
  }
  .simulatorContainer .simBtnDisable {
    box-shadow: 0 1.04vw 0 #b6b6b6 !important;
  }
  .simulatorContainer .simTab {
    margin: 7.82vw 0;
  }
  .simulatorContainer .simTab:before {
    height: 2px;
  }
  .simulatorContainer .simTab li a {
    padding: 2.61vw 0;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    border-left: 2px solid #333;
    border-radius: 2.61vw 2.61vw 0 0;
  }
  .simulatorContainer .simTab li .large {
    font-size: 3.65vw;
  }
  .simulatorContainer .simTab li .small {
    font-size: 2.61vw;
  }
  .simulatorContainer .simTab li.select a:before {
    width: 1.56vw;
    height: 1.3vw;
    right: 2.61vw;
    margin-top: -0.65vw;
  }
  .simulatorContainer .selectCol:before {
    width: 3.65vw;
    height: 3.65vw;
    left: 3.65vw;
    top: calc(50% - 1.83vw);
  }
  .simulatorContainer .formBtn {
    font-size: 3.65vw;
    min-height: 15.65vw;
    border: 2px solid #dcdcdc;
  }
  .simulatorContainer .formBtn.-s {
    font-size: 3.13vw;
  }
  .simulatorContainer .formBtn.-blank {
    padding: 1.3vw 0.65vw;
  }
  .simulatorContainer .formBtn.-full {
    margin: 2.61vw auto 0;
    font-size: 3.65vw;
  }
  .simulatorContainer .formBtn.-radio:before {
    width: 3.13vw;
    height: 3.13vw;
    left: 1.56vw;
    top: calc(50% - 1.56vw);
  }
  .simulatorContainer .formBtn.-radio.checked:before {
    border: 0.78vw solid #fff;
  }
  .simulatorContainer .formBtn.-check:before {
    width: 3.13vw;
    height: 3.13vw;
    border-radius: 5px;
    border: 2px solid #efefef;
    left: 1.56vw;
    top: calc(50% - 1.56vw);
  }
  .simulatorContainer .formBtn.-check.checked:after {
    width: 2.35vw;
    height: 1.04vw;
    border-left: 2px solid #000;
    border-bottom: 2px solid #000;
    left: 1.69vw;
    top: calc(50% - 1.04vw);
    transform: rotate(-45deg);
  }
  .simulatorContainer .stepHead {
    font-size: 3.65vw;
    padding: 2.61vw;
    margin-bottom: 5.22vw;
  }
  .simulatorContainer .stepHead .step {
    font-size: 3.65vw;
    padding: 1.56vw 3.91vw 1.3vw;
    margin-bottom: 1.3vw;
  }
  .simulatorContainer .stepHead.-active {
    background: var(--color-conv);
    color: #000;
  }
  .simulatorContainer .stepHead.-active .step {
    color: #000;
  }
  .simulatorContainer .formColTtl {
    margin-bottom: 1.3vw;
    font-size: 3.65vw;
    padding-left: 5.22vw;
  }
  .simulatorContainer .formColTtl:after {
    width: 2.61vw;
    height: 2.61vw;
    left: 1.3vw;
    margin-top: -1.3vw;
  }
  .simulatorContainer .formColTtl .s {
    font-size: 2.61vw;
  }
  .simulatorContainer .formColTtl.-s {
    font-size: 2.61vw;
  }
  .simulatorContainer .formColTtl.arDown {
    margin-bottom: 13.04vw;
  }
  .simulatorContainer .formColHead {
    font-size: 3.13vw;
  }
  .simulatorContainer .formColHead .s {
    font-size: 2.61vw;
  }
  .simulatorContainer .simAlert {
    padding: 1.56vw 2.61vw;
    font-size: 3.13vw;
    margin-top: 1.3vw;
  }
  .simulatorContainer .simZipInput > label:before {
    left: 4.17vw;
    top: calc(50% - 2.09vw);
    width: 4.17vw;
    height: 4.17vw;
  }
  .simulatorContainer .simZipInput input {
    padding: 3.91vw 3.91vw 3.91vw 10.95vw;
  }
  .simulatorContainer .simevNotes {
    margin-top: 2.61vw;
  }
  .simulatorContainer .simevNotes > li {
    font-size: 2.61vw;
  }
  .simulatorContainer .simBtnPrice {
    font-size: 4.69vw;
    box-shadow: 0 1.04vw 0px var(--color-denki-key-shadow);
    margin-top: 5.22vw;
  }
  .simulatorContainer .simZipLink {
    margin: 2.61vw auto 0;
    font-size: 3.65vw;
  }
  .simulatorContainer .simFirst {
    padding-bottom: 7.82vw;
  }
  .simulatorContainer .simSecond {
    padding-bottom: 5.22vw;
  }
  .simulatorContainer .simSecond.denki .selectCol:before {
    width: 3.65vw;
    height: 3.65vw;
  }
  .simulatorContainer .formColCategory {
    font-size: 4.17vw;
    padding-left: 15.65vw;
  }
  .simulatorContainer .formColCategory.-denki:before {
    width: 13.04vw;
    height: 13.04vw;
    top: calc(50% - 6.52vw);
  }
  .simulatorContainer .formColCategory.-gas:before {
    width: 13.04vw;
    height: 13.04vw;
    top: calc(50% - 6.52vw);
  }
  .simulatorContainer .formColTxt {
    font-size: 3.65vw;
  }
  .simulatorContainer .formColOuter {
    margin-top: 5.22vw;
  }
  .simulatorContainer .formColOuter.-month {
    gap: 1.3vw;
  }
  .simulatorContainer .formColOuter.-month .formColTxt {
    margin-top: 3.13vw;
  }
  .simulatorContainer .formColOuter + .formColOuter {
    margin-top: 2.61vw;
  }
  .simulatorContainer .formCol.-amount:before {
    width: 3.65vw;
    height: 5.22vw;
    left: 3.65vw;
    top: 4.69vw;
  }
  .simulatorContainer .formCol.-capacity {
    margin-top: 5.22vw;
  }
  .simulatorContainer .simCapacityTxt {
    font-size: 3.65vw;
  }
  .simulatorContainer .simPtFee {
    padding: 3.91vw 3.91vw 3.91vw 10.95vw !important;
  }
  .simulatorContainer .simPtAmount {
    padding: 3.91vw 3.91vw 3.91vw 10.95vw !important;
  }
  .simulatorContainer .simAnserPlan {
    padding: 1.3vw;
    margin: 5.87vw auto 16.95vw;
  }
  .simulatorContainer .simAnserPlan:before {
    width: 10.43vw;
    height: 7.82vw;
    left: calc(50% - 5.22vw);
    bottom: -15.65vw;
  }
  .simulatorContainer .simAnserPlanDenki {
    font-size: 3.13vw;
    padding: 5.22vw;
  }
  .simulatorContainer .simAnserPlanDenki .s {
    font-size: 2.61vw;
  }
  .simulatorContainer .simAnserPlanDenki:has(+ .simAnserPlanGas) {
    margin-bottom: 1.3vw;
  }
  .simulatorContainer .simAnserPlanDenki:has(+ .simAnserPlanGas) .plus {
    width: 6.52vw;
    height: 6.52vw;
    left: calc(50% - 3.26vw);
    bottom: -3.91vw;
  }
  .simulatorContainer .simAnserPlanGas {
    font-size: 3.13vw;
    padding: 5.22vw;
  }
  .simulatorContainer .simAnserPlanGas .s {
    font-size: 2.61vw;
  }
  .simulatorContainer .simAnserPlanTxt {
    left: calc(50% - 19.56vw);
    bottom: -5.87vw;
    font-size: 3.65vw;
    width: 41.72vw;
  }
  .simulatorContainer .simAnserTtl {
    padding: 2.61vw;
    gap: 1.3vw;
  }
  .simulatorContainer .simAnserTtl.-plus {
    margin-top: 13.04vw;
  }
  .simulatorContainer .simAnserTtl.-plus:before {
    width: 7.82vw;
    height: 1.83vw;
    left: calc(50% - 3.91vw);
    top: -7.82vw;
  }
  .simulatorContainer .simAnserTtl.-plus:after {
    width: 1.83vw;
    height: 7.82vw;
    left: calc(50% - 0.91vw);
    top: -10.82vw;
  }
  .simulatorContainer .simAnserTtl.-ar {
    margin-top: 13.04vw;
  }
  .simulatorContainer .simAnserTtl.-ar:before {
    width: 10.43vw;
    height: 7.82vw;
    left: calc(50% - 5.22vw);
    top: -10.43vw;
  }
  .simulatorContainer .simAnserTtlTxt1 {
    font-size: 3.65vw;
  }
  .simulatorContainer .simAnserDate {
    font-size: 3.13vw;
    padding: 0.52vw 2.61vw;
  }
  .simulatorContainer .simAnserTtlTxt2 {
    font-size: 3.13vw;
  }
  .simulatorContainer .simAnserTtlTxt3 {
    font-size: 2.61vw;
  }
  .simulatorContainer .simAnserTtlPrice {
    border: 2px solid #000;
    font-size: 9.39vw;
    padding-bottom: 1.3vw;
  }
  .simulatorContainer .simAnserTtlPrice .lineY:after {
    bottom: 1.83vw;
    height: 1.83vw;
  }
  .simulatorContainer .simAnserTtlPrice .txtS {
    font-size: 3.13vw;
  }
  .simulatorContainer .simAnserLuNotes {
    margin-top: 1.3vw;
  }
  .simulatorContainer .simAnserLuNotes > li {
    font-size: 2.61vw;
  }
  .simulatorContainer .simBnr {
    margin-top: 5.22vw;
  }
  .simulatorContainer .cpBnr {
    border-radius: 10px;
    margin: 20px auto 0;
  }
  .simulatorContainer .simAnserOtokuHead {
    font-size: 3.65vw;
  }
  .simulatorContainer .simAnserOtoku {
    padding: 1.56vw;
    gap: 1.3vw;
    margin-top: 2.61vw;
  }
  .simulatorContainer .simAnserOtoku .txtS {
    font-size: 2.61vw;
  }
  .simulatorContainer .simAnserOtoku .txtM {
    font-size: 3.13vw;
  }
  .simulatorContainer .simAnserOtoku .txtL {
    font-size: 4.17vw;
  }
  .simulatorContainer .simAnserOtoku .head {
    font-size: 2.61vw;
    border-radius: 1.3vw 0 0 1.3vw;
    padding: 1.96vw 0;
  }
  .simulatorContainer .simAnserOtoku .txt {
    border-radius: 0 1.3vw 1.3vw 0;
    padding: 1.96vw 0;
  }
  .simulatorContainer .simAnserOtokuTh {
    padding: 1.96vw 0;
  }
  .simulatorContainer .simAnserOtokuAfter {
    margin-bottom: 1.3vw;
  }
  .simulatorContainer .simAnserOtokuAfter:before {
    width: 3.91vw;
    height: 1.56vw;
    left: calc(50% + 13vw);
    bottom: -2.09vw;
  }
  .simulatorContainer .simAnserOtokuDiff .lineYSP:after {
    height: 0.65vw;
    bottom: 0.26vw;
  }
  .simulatorContainer .simAnserOtokuDiff .head,
  .simulatorContainer .simAnserOtokuDiff .txt {
    padding: 1.96vw 0;
  }
  .simulatorContainer .simAnserMonthHead {
    font-size: 3.13vw;
    margin: 5.22vw auto 0;
  }
  .simulatorContainer .simAnserMonthHead:before {
    width: 3.91vw;
    left: -4.43vw;
  }
  .simulatorContainer .simAnserMonthHead:after {
    width: 3.91vw;
    right: -4.17vw;
  }
  .simulatorContainer .simAnserMonth {
    text-align: center;
    margin-top: 1.3vw;
  }
  .simulatorContainer .simAnserMonthTtl {
    margin-bottom: 2.61vw;
    font-size: 3.13vw !important;
    padding: 1.83vw 7.04vw 1.83vw 2.61vw;
  }
  .simulatorContainer .simAnserMonthTableHead {
    font-size: 3.13vw;
  }
  .simulatorContainer .simAnserMonthTableHead.-gas {
    margin-top: 2.61vw;
  }
  .simulatorContainer .simMonthList {
    margin-top: 5.22vw;
  }
  .simulatorContainer .simMonthListColTxt {
    font-size: 3.13vw;
    margin-bottom: 2.61vw;
  }
  .simulatorContainer .simMonthListTtl {
    font-size: 3.65vw;
    margin-bottom: 2.61vw;
  }
  .simulatorContainer .simYearOuter {
    gap: 2%;
  }
  .simulatorContainer .simYear {
    padding: 1.3vw 2.61vw;
    gap: 1.3vw;
  }
  .simulatorContainer .simYearTxt {
    font-size: 2.61vw;
  }
  .simulatorContainer .simYearAmount {
    padding: 1.96vw;
    font-size: 3.65vw;
  }
  .simulatorContainer .simAnserDealsTtl {
    font-size: 3.65vw;
    margin: 5.22vw auto 2.61vw;
  }
  .simulatorContainer .simMonthListCol {
    padding: 1.3vw 2.61vw 5.22vw;
    margin-top: 3.91vw;
  }
  .simulatorContainer .simMonthListBox {
    gap: 1.3vw;
  }
  .simulatorContainer .simMonthListBox li {
    padding: 2.61vw 0;
  }
  .simulatorContainer .simMonthListBox li input {
    font-size: 4.17vw;
  }
  .simulatorContainer .simMonthListBoxTtl {
    font-size: 3.13vw;
  }
  .simulatorContainer .simMonthListBoxIn {
    gap: 2.61vw;
  }
  .simulatorContainer .simMonthListBoxHead {
    margin-right: 3.91vw;
    font-size: 2.61vw;
  }
  .simulatorContainer .simMonthListBoxTxt {
    font-size: 2.61vw;
  }
  .simulatorContainer .simMonthListBoxInput {
    gap: 0 0.65vw;
  }
  .simulatorContainer .simMonthListBoxAlert {
    margin: 2.61vw auto 0;
  }
  .simulatorContainer .simBtnRecalc {
    font-size: 3.65vw;
    margin: 5.22vw auto 0;
    height: 13.04vw;
  }
  .simulatorContainer .simBtnRecalc:before {
    width: 3.13vw;
    height: 3.13vw;
    right: 3.91vw;
    top: calc(50% - 1.56vw);
  }
  .simulatorContainer .entry_btn_denkigas {
    font-size: 4.17vw;
    padding-right: 6.52vw;
    margin: 0 auto 3.65vw;
  }
  .simulatorContainer .entry_btn_denkigas > .ico {
    width: 11.73vw;
    height: 9.91vw;
    margin-right: 2.61vw;
  }
  .simulatorContainer .entry_btn_denki {
    padding-right: 3.91vw;
    font-size: 4.17vw;
    margin: 0 auto 3.65vw;
  }
  .simulatorContainer .entry_btn_denki > .ico {
    width: 6vw;
    height: 9.91vw;
    margin-right: 2.61vw;
  }
  .simulatorContainer .entry_btn_gas {
    padding-right: 3.91vw;
    font-size: 4.17vw;
    margin: 0 auto 3.65vw;
  }
  .simulatorContainer .entry_btn_gas > .ico {
    width: 5.48vw;
    height: 9.39vw;
    margin-right: 1.3vw;
  }
  .simulatorContainer .simBtnOther {
    margin: 5.22vw auto 0;
    gap: 2.35vw 2%;
  }
  .simulatorContainer .simBtnOther li {
    height: 13.04vw;
  }
  .simulatorContainer .simBtnOther li a img {
    width: 37.81vw;
  }
  .simulatorContainer .simBtnOther li.denki img {
    width: 24.51vw;
  }
  .simulatorContainer .simBtnOther li.denki a:before {
    width: 2.61vw;
    height: 2.61vw;
    right: 1.3vw;
    top: calc(50% - 1.3vw);
  }
  .simulatorContainer .simBtnOther li.gas img {
    width: 27.51vw;
  }
  .simulatorContainer .simBtnOther li.gas a:before {
    width: 2.61vw;
    height: 2.61vw;
    right: 1.3vw;
    top: calc(50% - 1.3vw);
  }
}