.simulation__container {
  margin-top: 60px;
  max-width: 1000px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (max-width: 999px) {
  .simulation__container {
    box-sizing: border-box;
    padding-left: 20px;
    padding-right: 20px;
    width: 100%;
  }
}

.simulation__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14.5px;
  position: relative;
}

@media screen and (max-width: 999px) {
  .simulation__title {
    gap: 5px;
  }
}

.simulation__title::before {
  position: absolute;
  display: block;
  content: " ";
  background: url(../img/simulation-pink.png) center center / contain no-repeat;
  top: -85%;
  left: 50%;
  width: 390px;
  height: 130px;
  transform: translateX(-50%);
  z-index: 1;
}
@media screen and (max-width: 999px) {
  .simulation__title::before {
    width: 90px;
    height: 80px;
    top: -63%;
  }
}

.simulation__title--en {
  font-family: Oswald;
  font-weight: 500;
  font-size: 18px;
  letter-spacing: 0.15em;
  text-align: center;
  color: #f2a2c0;
}

.simulation__title--ja {
  font-family: "Noto Sans JP";
  font-weight: bold;
  font-size: 28px;
  letter-spacing: 0.08em;
  text-align: center;
  color: #313131;
}

.simulation__content {
  font-family: "Noto Sans JP";
  font-weight: normal;
  font-size: 14px;
  letter-spacing: 0.06em;
  line-height: 32px;
  text-align: center;
  color: #000;
  margin-top: 13px;
}

.simulation__item {
  border: 12px solid #fcebec;
  margin-top: 39px;
  border-radius: 18px 18px 0 0 ;
}

.simulation__form {
  padding-top: 41px;
  padding-left: 40px;
  padding-right: 37px;
  background: #fff;
  padding-bottom: 50px;
}

@media screen and (max-width: 999px) {
  .simulation__form {
    padding-left: 10px;
    padding-right: 10px;

  }
}

.simulation__formItems {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.simulation__formItem {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #bcbcbc;
  padding-bottom: 29px;
}

@media screen and (max-width: 999px) {
  .simulation__formItem {
    flex-direction:column;
    align-items: flex-start;
    gap: 20px;
  }
}

.simulation__formItem:last-child {
  /* border-bottom: none; */
}

.simulation__formItemHead {
  font-family: "Noto Sans JP";
  font-weight: bold;
  font-size: 16px;
  letter-spacing: 0.08em;
  text-align: left;
  color: #222;
  position: relative;
  width: 308px;
}

@media screen and (max-width: 999px) {
  .simulation__formItemHead {
    width: 235px;
  }
}

.simulation__formItemHead::before {
  position: absolute;
  display: block;
  content: "必須 ";
  font-family: "Noto Sans JP";
  font-weight: bold;
  font-size: 14px;
  letter-spacing: 0.08em;
  text-align: left;
  color: #fff;
  width: 46px;
  border-radius: 11.5px;
  background: #f2a2c0;
  text-align: center;
  display: inline-block;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}

.simulation__formItemLabel {
  width: 61.3%;
}

@media screen and (max-width: 999px) {
  .simulation__formItemLabel {
    width: 100%;
  }
}

.simulation__formItemLabel--radio {
    display: flex;
    gap: 86px;
}

.simulation__formItemLabel label {
    position: relative;
}

.simulation__formItemLabel--radio label.active::before {
    position: absolute;
    display: block;
    content: "";
    width: 10px;
    height: 10px;
    left: 9px;
    top: 50%;
    transform:translateY(-50%);
    background-color: #000000;
    border-radius: 50%;
}

.simulation__formItemLabel p {
  font-family: "Noto Sans JP";
  font-weight: normal;
  font-size: 14px;
  letter-spacing: 0.06em;
  text-align: left;
  color: #969696;
}

.simulation__formItemLabel input[type="number"] {
  box-sizing: border-box;
  padding: 13px 10px;
  border-radius: 10px;
  background-color: #f8f8f8;
  width: 100%;
}

.radioWrapper {
  display: flex;
}

.simulation__formItemLabel--radio label {
  display: flex;
}
.simulation__formItemLabel--radio p {
  font-family: "Noto Sans JP";
  font-weight: normal;
  font-size: 16px;
  letter-spacing: 0.08em;
  text-align: left;
  color: #222;
}

.simulation__formItemLabel input[type="radio"] {
  width: 20px;
  height: 20px;
  font-size: 20px;
  border: 1px solid #000;
  border-radius: 50%;
  margin-top: 3px;
  margin-left: 4px;
  margin-right: 5px;
}


.simulation__result {
background-color: #FCEAEC;
border-radius: 20px;
margin-top: -10px;
}

.simulation__resultContainer {
  width: 90%;
  padding-top: 44px;
  margin-left: auto;
  margin-right: auto;
}

.simulation__resultTop {
background-color: #fff;
border: 2px solid #F2A1C0;
display: flex;
flex-direction:column;
align-items: center;
border-radius: 20px;
padding-top: 23px;
padding-bottom: 14px;
}

.simulation__resultTopHead {
  font-family: "Noto Sans JP";
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.08em;
  text-align: center;
  color: #313131;  
  position: relative;
}

@media screen and (max-width: 999px) {
  .simulation__resultTopHead {
    font-size: 16px;
  }
}

.simulation__resultTopHead::before {
  position: absolute;
  display: block;
  content: "";
  top: -7%;
  left: -20px;
  transform: rotate(-33deg);
  width: 1px;
  height: 33px;
  background-color: #313131;
}

.simulation__resultTopHead::after {
  position: absolute;
  display: block;
  content: "";
  top: -7%;
  right: -20px;
  transform: rotate(33deg);
  width: 1px;
  height: 33px;
  background-color: #313131;
}

@media screen and (max-width: 999px) {
  .simulation__resultTopHead::before {
    top: 1%;
    left: -10px;
    transform: rotate(-33deg);
    height: 23px;
  }

  .simulation__resultTopHead::after {
    top: 1%;
    right: -10px;
    transform: rotate(33deg);
    height: 23px;
  }

}

.simulation__resultTopHead span {
  color: #FD5680;
}

.simulation__resultTopContent {
  font-family: "Noto Sans JP";
  font-weight: bold;
  font-size: 29px;
  letter-spacing: 0.08em;
  color: #ff7d26;  
  margin-top: -10px;
  background: linear-gradient(transparent 70%, #FFF798 30%);
}

@media screen and (max-width: 999px) {
  .simulation__resultTopContent {
    font-size: 18px;
    margin-top: 5px;
  }
}

.simulation__resultTopContent .num {
font-family: Oswald;
font-weight: 500;
font-size: 54px;
letter-spacing: 0.08em;
color: #ff7d26;
}

@media screen and (max-width: 999px) {
  .simulation__resultTopContent .num {
    font-size: 38px;
  }
}

.simulation__resultTableWrapper {
  margin-top: 20px;
  width: 100%;
  padding-bottom: 46px;
  margin-bottom: 100px;
}

.simulation__resultTableWrapper table {
width: 100%;
border-radius: 20px;
border-collapse: collapse;
}

.simulation__resultTableWrapper thead {
  width: 100%;
}

.simulation__resultTableWrapper th {
  width: 33.3333%;
  padding-top: 19px;
  padding-bottom: 11px;
}

@media screen and (max-width: 999px) {
  .simulation__resultTableWrapper th {
    padding-top: 9px;
    padding-bottom: 7px;
    display: flex;
    flex-direction:column;
    justify-content: space-between;
  }
}

.simulation__resultTableWrapper th:nth-of-type(1) {
  background: linear-gradient(45deg, #ffc936 0%, #ff5382 100%);
  border-radius: 20px 0 0 0;
  color: #fff;
  border: 1px solid #F2A2C0;
}
.simulation__resultTableWrapper th:nth-of-type(2) {
background-color: #FFE5E6;
border: 1px solid #F2A2C0;
}
.simulation__resultTableWrapper th:nth-of-type(3) {
background-color: #F4F4F4;
border-radius: 0 20px 0 0;
border: 1px solid #F2A2C0;
}

.simulation__resultTableWrapper .th__detail {
  font-family: "Noto Sans JP";
  font-weight: bold;
  font-size: 16px;
  letter-spacing: 0.08em;
  line-height: 22px;
  text-align: center;
  color: #fff;  
}

@media screen and (max-width: 999px) {
  .simulation__resultTableWrapper .th__detail  {
    font-size: 11px;
  }
}

.simulation__resultTableWrapper .th__content {
  font-family: "Noto Sans JP";
font-weight: bold;
font-size: 16px;
letter-spacing: 0.08em;
text-align: left;
color: #fff;
text-align: center;
}

.simulation__resultTableWrapper .th__content .num {
  font-family: Oswald;
  font-weight: 500;
  font-size: 30px;
  letter-spacing: 0.08em;
  text-align: right;
  color: #fff;
  opacity: 1;  
}

@media screen and (max-width: 999px) {
  .simulation__resultTableWrapper .th__content .num {
    font-size: 20px;
  }
}

.simulation__resultTableWrapper th:nth-of-type(2) .th__detail {
  color: #313131;
}
.simulation__resultTableWrapper th:nth-of-type(2) .th__content {
  color: #313131;
}
.simulation__resultTableWrapper th:nth-of-type(2) .th__content .num {
  color: #313131;
}
.simulation__resultTableWrapper th:nth-of-type(3) .th__detail {
  color: #313131;
}
.simulation__resultTableWrapper th:nth-of-type(3) .th__content {
  color: #313131;
}
.simulation__resultTableWrapper th:nth-of-type(3) .th__content .num {
  color: #313131;
}


.simulation__resultTableWrapper tbody {
width: 100%;
}

.simulation__resultTableWrapper tr {
  width: 100%;
  /* border: 1px solid #F2A2C0; */
  display: flex;
}

.simulation__resultTableWrapper td {
border: 1px solid #F2A2C0;
display: flex;
justify-content: space-between;
width: 33.3333%;
padding-top: 19px;
    padding-left: 29px;
    padding-right: 26px;
    align-items: center;
    padding-bottom: 25px;
}

@media screen and (max-width: 999px) {
  .simulation__resultTableWrapper td {
    padding-left: 5px;
    padding-right: 5px;
    display: flex;
    flex-direction:column;
    align-items: flex-start;
    justify-content: flex-start;
    padding-bottom: 8px;
    padding-top: 8px;
  }
}

.simulation__resultTableWrapper .tax {
  font-family: "Noto Sans JP";
  font-weight: bold;
  font-size: 16px;
  letter-spacing: 0.08em;
  text-align: left;
  color: #222;  
}

@media screen and (max-width: 999px) {
  .simulation__resultTableWrapper .tax {
    font-size: 14px;
  }
}

.simulation__resultTableWrapper  .price {
  font-family: "Noto Sans JP";
font-weight: bold;
font-size: 16px;
letter-spacing: 0.08em;
text-align: left;
color: #222;
}

.simulation__resultTableWrapper  .num {
  font-family: Oswald;
  font-weight: 500;
  font-size: 30px;
  letter-spacing: 0.08em;
  color: #060901;
}

@media screen and (max-width: 999px) {
  .simulation__resultTableWrapper  .num {
font-size: 18px;
  }
}

.round-3 {
  border-radius: 0 0 20px 0;
}

.round-4 {
  border-radius: 0 0 0 20px;
}