@charset "utf-8";
/* fxsim.css
++++++++++++++++++++++++++++++++++++++++
* NOTE
++++++++++++++++++++++++++++++++++++++++
- Charset: utf-8
- Return code: LF
++++++++++++++++++++++++++++++++++++++++ */
.u-miw_112 {
  min-width: 112px !important;
}

/* module
++++++++++++++++++++++++++++++++++++++++ */
.fxsim-ttl {
  max-width: 640px;
  margin: 32px auto 24px;
  padding: 0 0 10px;
  border-bottom: 2px solid  var(--color-gray-secondary);
  font-size: 18px;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.025em;
  text-indent: 0.025em;
  text-align: center;
  color: var(--color-rich-black);
}

.fxsim-lead {
  margin: 24px auto 32px;
  line-height: 1.75;
  letter-spacing: 0.025em;
  text-indent: 0.025em;
}

@media (max-width: 767.98px) {
  .fxsim-ttl {
    font-size: 1.8rem;
  }
  .fxsim-lead {
    font-size: 1.6rem;
  }
}
@media (min-width: 768px) {
  .fxsim-ttl {
    margin-top: 48px;
    font-size: 2.4rem;
  }
  .fxsim-lead {
    font-size: 2rem;
    text-align: center;
  }
}


/* tabs
++++++++++++++++++++++++++++++++++++++++ */
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.fxsim-tabs {
  margin: 0 auto;
}
.fxsim-tabs :where(.m-tablist_basic) {
}

:where(.fxsim-tabs) ._tablist {
  width: 100%;
  max-width: 100%;
  margin: 40px auto 8px;
}

:where(.fxsim-tabs) ._tabpanel {
  margin: 0;
  padding: 0;
  overflow: hidden;
  animation: fade-in 0.3s;
}
:where(.fxsim-tabs) ._tabpanel:not(.is-show) {
  display: none;
}

:where(.fxsim-tabs ._tabpanel) hgroup {
  display: block;
  margin: 0 auto;
  padding: 0;
  border: 0;
}

/* fields
++++++++++++++++++++++++++++++++++++++++ */
.fxsim-fields {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
}

.fxsim-fields ._field {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
}

.fxsim-fields ._error {
  margin: 8px 0 0;
  color: var(--color-red-primary);
  font-size: 1.2rem;
  line-height: 1.5;
}

.fxsim-fields ._unit {
  display: flex;
  align-items: center;
  margin: 0;
  white-space: nowrap;
}

.fxsim-fields ._note {
  color: var(--color-gray-quaternary);
}

.fxsim-fields ._required {
  display: inline-block;
  flex-grow: 0;
  margin-left: 8px;
  padding: 5px 8px;
  border-radius: 100vh;
  background-color: var(--color-gray-quaternary);
  color: var(--color-white);
  font-size: 1.2rem;
  line-height: 1;
  font-style: normal;
  text-align: center;
  vertical-align: middle;
}

.fxsim-btn_reset {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;

  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;

  touch-action: manipulation;

  text-decoration: none;
  outline: none;

  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;

  color: inherit;
  font-size: inherit;
  line-height: 1.25;
  letter-spacing: normal;
  text-align: left;
  font-weight: normal;

  cursor: pointer;

  width: fit-content;
  margin: 0 auto;
  padding: 4px 8px;
  color: var(--color-ui-blue);
}
@media (hover: hover) {
  .fxsim-btn_reset:hover {
    color: var(--color-blue-secondary);
  }
}
@media (max-width: 767.98px) {
  .fxsim-fields table,
  .fxsim-fields tr,
  .fxsim-fields th,
  .fxsim-fields td {
    display: block;
  }
  .fxsim-fields table {
    display: grid;
    grid-template-columns: 1fr;
    padding: 32px 16px;
    gap: 32px;
    box-shadow: 0 0 0 1px var(--color-gray-tertiary) inset;
    border-radius: 8px;
    background: var(--color-ui-blue-pale);
  }
  .fxsim-fields tbody {
    display: contents;
  }
  .fxsim-fields th + td {
    margin-top: 8px;
  }

  .fxsim-fields .m-btn_strong {
    margin: 48px auto 8px;
  }
}
@media (min-width: 768px) {
  .fxsim-fields table {
    min-width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    table-layout: fixed;
    border: 1px solid var(--color-gray-tertiary);
  }
  .fxsim-fields tr {
    min-height: 112px;
  }
  .fxsim-fields th,
  .fxsim-fields td {
    padding: 16px;
    border-top: 1px solid var(--color-gray-tertiary);
    vertical-align: middle;
  }
  .fxsim-fields th {
    width: 230px;
    height: 112px;
    background: var(--color-ui-blue-pale);
  }

  .fxsim-fields .m-select_basic,
  .fxsim-fields .m-chk_btn,
  .fxsim-fields .m-input_basic {
    width: 300px;
  }

  .fxsim-fields .m-btn_strong {
    width: 408px;
    margin: 56px auto 8px;
  }
}


/* result
++++++++++++++++++++++++++++++++++++++++ */
.fxsim-result {
  margin: 0 auto;
}

.fxsim-result ._minus {
  color: var(--color-red-primary);
}
.fxsim-result ._plus {
  color: var(--color-blue-secondary);
}
.fxsim-result ._message {
  color: var(--color-red-primary);
}

.fxsim-result table {
  min-width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
  border: 1px solid var(--color-gray-tertiary);
}
.fxsim-result th,
.fxsim-result td {
  padding: 16px;
  border-top: 1px solid var(--color-gray-tertiary);
  vertical-align: middle;
}
.fxsim-result th {
  background: var(--color-ui-blue-pale);
}

@media (max-width: 767.98px) {
  .fxsim-result {
    margin-top: 48px;
  }
  .fxsim-result th {
    width: 114px;
    text-align: left;
  }
}
@media (min-width: 768px) {
  .fxsim-result {
    margin-top: 56px;
  }
  .fxsim-result th {
    width: 230px;
    height: 96px;
  }
  .fxsim-result td {
    padding-right: 24px;
  }
}

/* account table
++++++++++++++++++++++++++++++++++++++++ */
.fxsim-account th {
  height: 96px;
}
