@charset "UTF-8";
:root {
  --main: #ffffff;
  --base: #1a1a1a;
  --accent: #faf600;
  --basic: var(--main);
  --primary-cl-01: var(--accent);
  --primary-cl-02: #1a1a1a;
  --primary-cl-03: #ffffff;
  --secondary-cl-01: #0095ff;
  --secondary-cl-02: #00a85a;
  --secondary-cl-03: #d659ff;
  --secondary-cl-04: #f0690a;
  --tertiary-cl-01: #4f4f4e;
  --tertiary-cl-02: #7a7a7a;
  --tertiary-cl-03: #bebebe;
  --tertiary-cl-04: #f2f2f2;
  --system-cl-01: #ef4c4c;
  --system-cl-02: #ffecec;
  --bg-01: #ffffff;
  --bg-02: var(--accent);
  --bg-03: #1a1a1a;
  --bg-04: #f2f2f2;
  --bg-05: #4f4f4e;
  --bg-alert: #ffecec;
  --text-cl-01: #1a1a1a;
  --text-cl-02: #ffffff;
  --text-cl-03: #7a7a7a;
  --text-cl-04: #0095ff;
  --text-cl-placeholder: #7a7a7a;
  --text-cl-alert: #ef4c4c;
  --link-01: #1a1a1a;
  --link-02: #bebebe;
  --link-03: #0095ff;
  --link-hover-01: #faf600;
  --link-active-01: #ffffff;
  --border-cl-01: #faf600;
  --border-cl-02: #1a1a1a;
  --border-cl-03: #ffffff;
  --border-cl-04: #bebebe;
  --border-cl-05: #0095ff;
  --border-cl-radio: #0095ff;
  --border-size-s: 1px;
  --border-size-m: 2px;
  --border-size-l: 4px;
  --radius-s: 2px;
  --radius-m: 4px;
  --radius-l: 8px;
  --shadow: 0 0 6px rgba(122, 122, 122, 0.2);
  --shadow-card: 0 0 6px rgba(122, 122, 122, 0.2);
  --shadow-cl-01: #faf600;
  --shadow-cl-02: #bebebe;
  --font-size-xxs: clamp(8.5px, 2.667vw, 11px);
  --font-size-h1: clamp(22.1px, 6.933vw, 28.6px);
  --font-size-h2: clamp(20.4px, 6.4vw, 26.4px);
  --font-size-h3: clamp(15.3px, 4.8vw, 19.8px);
  --font-size-h4: clamp(11.9px, 3.733vw, 15.4px);
  --font-size-lg: clamp(13.6px, 4.267vw, 17.6px);
  --font-size-default: clamp(11.9px, 3.733vw, 15.4px);
  --font-size-sm: clamp(11.9px, 3.733vw, 15.4px);
  --font-size-xs: clamp(8.5px, 2.667vw, 11px);
  --inner: 900px;
  --font-jp-01: "Noto Sans JP", YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  --font-yu-01: YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  --font-en-01: "Michroma", sans-serif;
  --font-num-01: "Oswald", sans-serif;
  --font-awesome: "Font Awesome 6 Pro";
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-bold: 700;
  --fw-black: 900;
  --lh-normal: 2;
  --lh-narrow: 1.5;
  --lh-fit: 1;
  --duration: 0.3s ease;
}

@media screen and (min-width: 835px) {
  :root {
    --font-size-xxs: clamp(8.5px, 0.732vw, 11px);
    --font-size-h1: clamp(30.6px, 2.635vw, 39.6px);
    --font-size-h2: clamp(23.8px, 2.05vw, 30.8px);
    --font-size-h3: clamp(20.4px, 1.757vw, 26.4px);
    --font-size-h4: clamp(13.6px, 1.171vw, 17.6px);
    --font-size-lg: clamp(15.3px, 1.318vw, 19.8px);
    --font-size-default: clamp(13.6px, 1.171vw, 17.6px);
    --font-size-sm: clamp(11.9px, 1.025vw, 15.4px);
    --font-size-xs: clamp(10.2px, 0.878vw, 13.2px);
  }
}
@media screen and (max-width: 834px) {
  :root {
    --form-font-size-xs: clamp(10.2px, 3.2vw, 13.2px);
    --form-font-size-default: clamp(11.05px, 3.467vw, 14.3px);
    --form-font-size-l: clamp(11.9px, 3.733vw, 15.4px);
    --form-font-size-h4: clamp(11.9px, 3.733vw, 15.4px);
    --form-font-size-xl: clamp(13.6px, 4.267vw, 17.6px);
    --form-font-size-h3: clamp(13.6px, 4.267vw, 17.6px);
    --form-font-size-h2: clamp(15.3px, 4.8vw, 19.8px);
    --form-font-size-h1: clamp(20.4px, 6.4vw, 26.4px);
    --form-space-2xs: min(8.8px, 2.133vw);
    --form-space-xs: min(13.2px, 3.2vw);
    --form-space-sm: min(22px, 5.333vw);
    --form-space-md: min(26.4px, 6.4vw);
    --form-space-lg: min(44px, 10.667vw);
    --form-section-space-xxs: min(13.2px, 3.2vw);
    --form-section-space-s: min(22px, 5.333vw);
    --form-section-space-m: min(35.2px, 8.533vw);
    --form-section-space-section: min(44px, 10.667vw);
  }
}
:root {
  --space-2xs: var(--form-space-2xs);
  --space-xs: var(--form-space-xs);
  --space-sm: var(--form-space-sm);
  --space-md: var(--form-space-md);
  --space-lg: var(--form-space-lg);
}

@media screen and (min-width: 835px) {
  :root {
    --form-font-size-xs: clamp(10.2px, 0.878vw, 13.2px);
    --form-font-size-default: clamp(11.9px, 1.025vw, 15.4px);
    --form-font-size-l: clamp(13.6px, 1.171vw, 17.6px);
    --form-font-size-h4: clamp(13.6px, 1.171vw, 17.6px);
    --form-font-size-xl: clamp(20.4px, 1.757vw, 26.4px);
    --form-font-size-h3: clamp(20.4px, 1.757vw, 26.4px);
    --form-font-size-h2: clamp(23.8px, 2.05vw, 30.8px);
    --form-font-size-h1: clamp(27.2px, 2.343vw, 35.2px);
    --form-space-2xs: min(8.8px, 0.586vw);
    --form-space-xs: min(13.2px, 0.878vw);
    --form-space-sm: min(22px, 1.464vw);
    --form-space-md: min(26.4px, 1.757vw);
    --form-space-lg: min(44px, 2.928vw);
    --form-section-space-xxs: min(22px, 1.464vw);
    --form-section-space-s: min(35.2px, 2.343vw);
    --form-section-space-m: min(44px, 2.928vw);
    --form-section-space-section: min(66px, 4.392vw);
  }
}
@media screen and (min-width: 835px) {
  .l-main > .p-sim {
    padding-top: min(90.2px, 6.003vw);
  }
}

.p-cta-fixed__button--sim {
  display: none;
}
@media screen and (max-width: 834px) {
  .p-cta-fixed__shoulder-item:first-child {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .p-cta-fixed__shoulder-item:last-child {
    display: none;
  }
  .p-cta-fixed__buttons {
    -ms-grid-columns: (minmax(0, 1fr))[2];
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.p-sim {
  width: 100%;
  font-family: var(--font-jp-01);
}
.p-sim__container {
  width: 100%;
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--form-section-space-section);
}
@media screen and (max-width: 834px) {
  .p-sim__container {
    padding-block: min(44px, 10.667vw) min(66px, 16vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim__container {
    max-width: min(660px, 43.924vw);
    padding-block: min(66px, 4.392vw);
  }
}
.p-sim__lead {
  text-align: center;
  font-size: var(--form-font-size-l);
  font-weight: var(--fw-regular);
  line-height: var(--lh-narrow);
  color: var(--text-cl-01);
}
@media screen and (max-width: 834px) {
  .p-sim__lead {
    padding-top: min(44px, 10.667vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim__lead {
    padding-top: min(44px, 2.928vw);
  }
}
.p-sim__section {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 834px) {
  .p-sim__section {
    gap: min(22px, 5.333vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim__section {
    gap: min(35.2px, 2.343vw);
  }
}
.p-sim__notes {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 834px) {
  .p-sim__notes {
    gap: min(13.2px, 3.2vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim__notes {
    gap: min(13.2px, 0.878vw);
  }
}
.p-sim__notes[hidden] {
  display: none;
}
.p-sim__notes-title {
  font-size: var(--form-font-size-l);
  font-weight: var(--fw-regular);
  line-height: var(--lh-narrow);
  color: var(--text-cl-01);
}

@media screen and (max-width: 834px) {
  .p-sim-breadcrumbs {
    padding-bottom: min(22px, 5.333vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-breadcrumbs {
    padding-bottom: min(22px, 1.464vw);
  }
}
.p-sim-breadcrumbs > .c-breadcrumbs {
  margin-top: 0;
}

.p-sim-form {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--form-section-space-section);
}
.p-sim-form__fields {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--form-section-space-m);
}
.p-sim-form__field {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--form-section-space-xxs);
}
.p-sim-form__usage {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (minmax(0, 1fr))[2];
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media screen and (max-width: 834px) {
  .p-sim-form__usage {
    gap: min(11px, 2.667vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-form__usage {
    gap: min(11px, 0.732vw);
  }
}
.p-sim-form__direct {
  width: 100%;
}
.p-sim-form__direct[hidden] {
  display: none;
}
.p-sim-form__actions {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--form-section-space-s);
}

.js-sim-capacity-unit[hidden],
.js-sim-capacity-input[hidden] {
  display: none;
}

.p-sim-loading {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 834px) {
  .p-sim-loading {
    gap: min(13.2px, 3.2vw);
    padding-block: min(44px, 10.667vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-loading {
    gap: min(17.6px, 1.171vw);
    padding-block: min(66px, 4.392vw);
  }
}
.p-sim-loading[hidden] {
  display: none;
}
.p-sim-loading__img {
  height: auto;
  -webkit-animation: p-sim-loading-bounce 1s ease-in-out infinite;
          animation: p-sim-loading-bounce 1s ease-in-out infinite;
}
@media screen and (max-width: 834px) {
  .p-sim-loading__img {
    width: min(79.2px, 19.2vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-loading__img {
    width: min(110px, 7.321vw);
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-sim-loading__img {
    -webkit-animation: none;
            animation: none;
  }
}
.p-sim-loading__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  font-size: var(--form-font-size-l);
  font-weight: var(--fw-regular);
  line-height: var(--lh-narrow);
  color: var(--text-cl-01);
}
.p-sim-loading__dots {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
.p-sim-loading__dots span {
  -webkit-animation: p-sim-loading-dot 1.4s ease-in-out infinite;
          animation: p-sim-loading-dot 1.4s ease-in-out infinite;
}
.p-sim-loading__dots span:nth-child(2) {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.p-sim-loading__dots span:nth-child(3) {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
@media (prefers-reduced-motion: reduce) {
  .p-sim-loading__dots span {
    -webkit-animation: none;
            animation: none;
  }
}

@-webkit-keyframes p-sim-loading-bounce {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-12%);
            transform: translateY(-12%);
  }
}

@keyframes p-sim-loading-bounce {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-12%);
            transform: translateY(-12%);
  }
}
@-webkit-keyframes p-sim-loading-dot {
  0%, 80%, 100% {
    opacity: 0.2;
  }
  40% {
    opacity: 1;
  }
}
@keyframes p-sim-loading-dot {
  0%, 80%, 100% {
    opacity: 0.2;
  }
  40% {
    opacity: 1;
  }
}
.p-sim-result {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 834px) {
  .p-sim-result {
    gap: min(22px, 5.333vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-result {
    gap: min(22px, 1.464vw);
  }
}
.p-sim-result[hidden] {
  display: none;
}
.p-sim-result__retry {
  text-align: center;
}
@media screen and (max-width: 834px) {
  .p-sim-result__retry {
    margin-top: min(22px, 5.333vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-result__retry {
    margin-top: min(22px, 1.464vw);
  }
}

.p-sim-result__error .c-button--lg {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 834px) {
  .p-sim-result__error .c-button--lg {
    margin-top: min(22px, 5.333vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-result__error .c-button--lg {
    margin-top: min(22px, 1.464vw);
  }
}

.p-sim-plan-card {
  position: relative;
  width: 100%;
  border: 1px solid var(--border-cl-02);
  background-color: var(--bg-01);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-sim-plan-card[hidden] {
  display: none;
}
@media screen and (max-width: 834px) {
  .p-sim-plan-card {
    border-radius: min(8.8px, 2.133vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-plan-card {
    border-radius: min(8.8px, 0.586vw);
  }
}
@media screen and (max-width: 834px) {
  .p-sim-plan-card--recommend {
    margin-top: min(15.4px, 3.733vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-plan-card--recommend {
    margin-top: min(15.4px, 1.025vw);
  }
}
.p-sim-plan-card__badge {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: var(--bg-03);
  color: var(--text-cl-02);
  font-size: var(--form-font-size-default);
  font-weight: var(--fw-regular);
  line-height: var(--lh-narrow);
  white-space: nowrap;
  z-index: 1;
}
@media screen and (max-width: 834px) {
  .p-sim-plan-card__badge {
    top: max(-15.4px, -3.733vw);
    padding: min(4.4px, 1.067vw) min(13.2px, 3.2vw);
    border-radius: min(15.4px, 3.733vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-plan-card__badge {
    top: max(-15.4px, -1.025vw);
    padding: min(4.4px, 0.293vw) min(13.2px, 0.878vw);
    border-radius: min(15.4px, 1.025vw);
  }
}
.p-sim-plan-card__header {
  width: 100%;
  background-color: var(--secondary-cl-01);
  color: var(--text-cl-02);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
@media screen and (max-width: 834px) {
  .p-sim-plan-card__header {
    border-radius: min(8.8px, 2.133vw) min(8.8px, 2.133vw) 0 0;
    padding-top: min(22px, 5.333vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-plan-card__header {
    border-radius: min(8.8px, 0.586vw) min(8.8px, 0.586vw) 0 0;
    padding-top: min(22px, 1.464vw);
  }
}
@media screen and (max-width: 834px) {
  .p-sim-plan-card--recommend .p-sim-plan-card__header {
    padding-top: min(26.4px, 6.4vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-plan-card--recommend .p-sim-plan-card__header {
    padding-top: min(26.4px, 1.757vw);
  }
}
.p-sim-plan-card__tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: var(--form-font-size-default);
  font-weight: var(--fw-regular);
  line-height: var(--lh-narrow);
  gap: 2px;
}
.p-sim-plan-card__tag img {
  height: auto;
}
@media screen and (max-width: 834px) {
  .p-sim-plan-card__tag img {
    width: min(26.4px, 6.4vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-plan-card__tag img {
    width: min(26.4px, 1.757vw);
  }
}
.p-sim-plan-card__name {
  font-size: var(--form-font-size-h2);
  font-weight: var(--fw-black);
  letter-spacing: 0.1em;
  line-height: var(--lh-narrow);
}
.p-sim-plan-card__saving {
  width: 100%;
  background-color: var(--secondary-cl-01);
}
@media screen and (max-width: 834px) {
  .p-sim-plan-card__saving {
    padding: min(22px, 5.333vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-plan-card__saving {
    padding: min(22px, 1.464vw) min(44px, 2.928vw);
  }
}
.p-sim-plan-card__saving-box {
  background-color: var(--bg-01);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
@media screen and (max-width: 834px) {
  .p-sim-plan-card__saving-box {
    border-radius: min(4.4px, 1.067vw);
    padding-block: min(13.2px, 3.2vw);
    gap: min(4.4px, 1.067vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-plan-card__saving-box {
    border-radius: min(4.4px, 0.293vw);
    padding-block: min(22px, 1.464vw);
    gap: min(13.2px, 0.878vw);
  }
}
.p-sim-plan-card__saving-note {
  font-size: var(--font-size-xs);
  font-weight: var(--fw-regular);
  line-height: var(--lh-narrow);
  color: var(--text-cl-01);
}
.p-sim-plan-card__saving-value {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  font-weight: var(--fw-bold);
  line-height: var(--lh-narrow);
  color: var(--text-cl-01);
  gap: 2px;
}
@media screen and (max-width: 834px) {
  .p-sim-plan-card__saving-value {
    font-size: clamp(13.6px, 4.267vw, 17.6px);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-plan-card__saving-value {
    font-size: clamp(20.4px, 1.757vw, 26.4px);
  }
}
.p-sim-plan-card__saving-num {
  font-family: var(--font-num-01);
  font-weight: 600;
  line-height: var(--lh-fit);
  color: var(--text-cl-04);
}
@media screen and (max-width: 834px) {
  .p-sim-plan-card__saving-num {
    font-size: clamp(35.7px, 11.2vw, 46.2px);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-plan-card__saving-num {
    font-size: clamp(35.7px, 3.075vw, 46.2px);
  }
}
.p-sim-plan-card__notch {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background-color: var(--secondary-cl-01);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  margin-top: -1px;
}
@media screen and (max-width: 834px) {
  .p-sim-plan-card__notch {
    width: 100%;
    height: min(24.2px, 5.867vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-plan-card__notch {
    width: min(368.5px, 24.524vw);
    height: min(24.2px, 1.611vw);
    margin-inline: auto;
  }
}
.p-sim-plan-card--yellow .p-sim-plan-card__header {
  background-color: var(--bg-02);
  color: var(--text-cl-01);
}
.p-sim-plan-card--yellow .p-sim-plan-card__saving,
.p-sim-plan-card--yellow .p-sim-plan-card__notch {
  background-color: var(--bg-02);
}
.p-sim-plan-card__rows {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 834px) {
  .p-sim-plan-card__rows {
    gap: min(13.2px, 3.2vw);
    padding: min(22px, 5.333vw) min(22px, 5.333vw) 0;
  }
}
@media screen and (min-width: 835px) {
  .p-sim-plan-card__rows {
    gap: min(13.2px, 0.878vw);
    padding: min(22px, 1.464vw) min(44px, 2.928vw) 0;
  }
}
.p-sim-plan-card__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background-color: var(--bg-04);
}
@media screen and (max-width: 834px) {
  .p-sim-plan-card__row {
    border-radius: min(4.4px, 1.067vw);
    min-height: min(61.6px, 14.933vw);
    padding: min(17.6px, 4.267vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-plan-card__row {
    border-radius: min(4.4px, 0.293vw);
    min-height: min(61.6px, 4.1vw);
    padding: min(17.6px, 1.171vw);
  }
}
.p-sim-plan-card__row[hidden] {
  display: none;
}
.p-sim-plan-card__row dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: var(--fw-regular);
  line-height: var(--lh-narrow);
  color: var(--text-cl-01);
}
@media screen and (max-width: 834px) {
  .p-sim-plan-card__row dt {
    font-size: clamp(8.5px, 2.667vw, 11px);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-plan-card__row dt {
    font-size: clamp(11.9px, 1.025vw, 15.4px);
  }
}
.p-sim-plan-card__row dt i {
  text-align: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  translate: 0 0.1em;
}
@media screen and (max-width: 834px) {
  .p-sim-plan-card__row dt i {
    font-size: clamp(10.2px, 3.2vw, 13.2px);
    width: min(19.8px, 4.8vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-plan-card__row dt i {
    width: min(19.8px, 1.318vw);
  }
}
.p-sim-plan-card__row dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  font-size: var(--form-font-size-h4);
  font-weight: var(--fw-medium);
  line-height: var(--lh-narrow);
  color: var(--text-cl-01);
}
@media screen and (max-width: 834px) {
  .p-sim-plan-card__row dd {
    gap: min(4.4px, 1.067vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-plan-card__row dd {
    gap: min(4.4px, 0.293vw);
  }
}
.p-sim-plan-card__row-num {
  font-family: var(--font-num-01);
  font-weight: var(--fw-medium);
  line-height: var(--lh-fit);
  color: var(--text-cl-04);
}
@media screen and (max-width: 834px) {
  .p-sim-plan-card__row-num {
    font-size: clamp(20.4px, 6.4vw, 26.4px);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-plan-card__row-num {
    font-size: clamp(20.4px, 1.757vw, 26.4px);
  }
}
.p-sim-plan-card__row-modal {
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--font-jp-01);
  font-size: var(--form-font-size-h4);
  font-weight: var(--fw-medium);
  line-height: var(--lh-narrow);
  color: var(--text-cl-04);
  text-decoration: underline;
  padding: 0;
}
@media screen and (max-width: 834px) {
  .p-sim-plan-card__row-modal {
    margin-left: min(4.4px, 1.067vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-plan-card__row-modal {
    margin-left: min(4.4px, 0.293vw);
  }
}
@media (any-hover: hover) {
  .p-sim-plan-card__row-modal:hover {
    opacity: 0.7;
  }
}
.p-sim-plan-card__more {
  width: 100%;
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: 0fr;
  grid-template-rows: 0fr;
  visibility: hidden;
  -webkit-transition: grid-template-rows 0.4s ease, visibility 0s linear 0.4s;
  transition: grid-template-rows 0.4s ease, visibility 0s linear 0.4s;
  transition: grid-template-rows 0.4s ease, visibility 0s linear 0.4s, -ms-grid-rows 0.4s ease;
}
.p-sim-plan-card__more-inner {
  overflow: hidden;
  min-height: 0;
}
.p-sim-plan-card__more.is-open {
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
  visibility: visible;
  -webkit-transition: grid-template-rows 0.4s ease;
  transition: grid-template-rows 0.4s ease;
  transition: grid-template-rows 0.4s ease, -ms-grid-rows 0.4s ease;
}
@media (prefers-reduced-motion: reduce) {
  .p-sim-plan-card__more {
    -webkit-transition: visibility 0s;
    transition: visibility 0s;
  }
  .p-sim-plan-card__more.is-open {
    -webkit-transition: none;
    transition: none;
  }
}
.p-sim-plan-card__reference-note {
  margin: min(22px, 5.333vw) min(22px, 5.333vw) 0;
  padding: min(17.6px, 4.267vw);
  border-left: min(4.4px, 1.067vw) solid var(--link-03);
  border-radius: var(--radius-s);
  background-color: var(--bg-04);
  font-size: clamp(11.9px, 3.733vw, 15.4px);
  font-weight: var(--fw-bold);
  line-height: var(--lh-normal);
}
@media screen and (min-width: 835px) {
  .p-sim-plan-card__reference-note {
    margin: min(22px, 1.464vw) min(44px, 2.928vw) 0;
    padding: min(17.6px, 1.171vw) min(22px, 1.464vw);
    border-left-width: min(4.4px, 0.293vw);
    font-size: clamp(11.9px, 1.025vw, 15.4px);
  }
}
.p-sim-plan-card__cta {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 834px) {
  .p-sim-plan-card__cta {
    padding: min(22px, 5.333vw) min(22px, 5.333vw) 0;
  }
  .p-sim-plan-card__cta > a {
    width: 100%;
    max-width: 100%;
    min-width: auto;
  }
}
@media screen and (min-width: 835px) {
  .p-sim-plan-card__cta {
    padding: min(22px, 1.464vw) min(44px, 2.928vw) 0;
  }
}
.p-sim-plan-card__cta[hidden] {
  display: none;
}
.p-sim-plan-card__detail {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 834px) {
  .p-sim-plan-card__detail {
    padding-top: min(22px, 5.333vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-plan-card__detail {
    padding-top: min(22px, 1.464vw);
  }
}
.p-sim-plan-card__toggle {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--font-jp-01);
  font-size: var(--form-font-size-xs);
  font-weight: var(--fw-regular);
  line-height: var(--lh-narrow);
  color: var(--text-cl-04);
  gap: 2px;
}
@media screen and (max-width: 834px) {
  .p-sim-plan-card__toggle {
    padding-block: min(22px, 5.333vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-plan-card__toggle {
    padding-block: min(22px, 1.464vw);
  }
}
@media (any-hover: hover) {
  .p-sim-plan-card__toggle:hover {
    opacity: 0.7;
  }
}
.p-sim-plan-card__toggle .--open-label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: inherit;
}
.p-sim-plan-card__toggle .--close-label {
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: inherit;
}
.p-sim-plan-card__toggle[aria-expanded=true] .--open-label {
  display: none;
}
.p-sim-plan-card__toggle[aria-expanded=true] .--close-label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.p-sim-graph {
  width: 100%;
}
@media screen and (max-width: 834px) {
  .p-sim-graph {
    padding: min(22px, 5.333vw) min(22px, 5.333vw) 0;
  }
}
@media screen and (min-width: 835px) {
  .p-sim-graph {
    padding: min(22px, 1.464vw) min(44px, 2.928vw) 0;
  }
}
.p-sim-graph__title {
  text-align: center;
  font-size: var(--font-size-sm);
  font-weight: var(--fw-medium);
  line-height: var(--lh-narrow);
  color: var(--text-cl-01);
}
@media screen and (max-width: 834px) {
  .p-sim-graph__title {
    margin-bottom: min(22px, 5.333vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-graph__title {
    margin-bottom: min(22px, 1.464vw);
  }
}
.p-sim-graph__scroller {
  position: relative;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
.p-sim-graph__scroller::-webkit-scrollbar {
  height: 6px;
}
.p-sim-graph__scroller::-webkit-scrollbar-track {
  background: rgba(26, 26, 26, 0.08);
  border-radius: 3px;
}
.p-sim-graph__scroller::-webkit-scrollbar-thumb {
  background: rgba(26, 26, 26, 0.5);
  border-radius: 3px;
}
.p-sim-graph__inner {
  position: relative;
  width: 720px;
}
@media screen and (max-width: 834px) {
  .p-sim-graph__inner {
    padding-bottom: min(8.8px, 2.133vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-graph__inner {
    padding-bottom: min(8.8px, 0.586vw);
  }
}
.p-sim-graph__canvas {
  display: block;
  width: 720px;
  height: 120px;
  -ms-touch-action: pan-x;
      touch-action: pan-x;
}
.p-sim-graph__tooltip {
  position: absolute;
  top: 8px;
  left: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 3;
  pointer-events: none;
  white-space: nowrap;
  background-color: var(--bg-03);
  color: var(--text-cl-02);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.15s ease;
  transition: opacity 0.15s ease;
  padding: 8px 10px;
  gap: 4px;
  border-radius: 4px;
  font-size: 11px;
  line-height: var(--lh-narrow);
  -webkit-box-shadow: 0 2px 8px rgba(26, 26, 26, 0.25);
          box-shadow: 0 2px 8px rgba(26, 26, 26, 0.25);
}
.p-sim-graph__tooltip.is-visible {
  opacity: 1;
  visibility: visible;
}
.p-sim-graph__tooltip-month {
  font-weight: var(--fw-bold);
  text-align: center;
}
.p-sim-graph__tooltip-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 12px;
}
.p-sim-graph__tooltip-key {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
}
.p-sim-graph__tooltip-key::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-sim-graph__tooltip-key.--own::before {
  background-color: var(--secondary-cl-01);
}
.p-sim-graph__tooltip-key.--other::before {
  background-color: var(--tertiary-cl-03);
}
.p-sim-graph__tooltip-val {
  font-family: var(--font-num-01);
  font-weight: var(--fw-medium);
}
.p-sim-graph__labels {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (minmax(0, 1fr))[12];
  grid-template-columns: repeat(12, minmax(0, 1fr));
  width: 720px;
}
.p-sim-graph__labels span {
  text-align: center;
  font-family: var(--font-num-01);
  font-weight: var(--fw-bold);
  line-height: var(--lh-narrow);
  color: var(--text-cl-01);
}
@media screen and (max-width: 834px) {
  .p-sim-graph__labels span {
    font-size: clamp(11.9px, 3.733vw, 15.4px);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-graph__labels span {
    font-size: clamp(11.9px, 1.025vw, 15.4px);
  }
}
.p-sim-graph__attention {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2;
  pointer-events: none;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
@media screen and (max-width: 834px) {
  .p-sim-graph__attention {
    width: min(141.9px, 34.4vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-graph__attention {
    width: min(141.9px, 9.444vw);
  }
}
.p-sim-graph__attention img {
  width: 100%;
  height: auto;
  -webkit-animation: p-sim-swipe-hint 1.6s ease-in-out infinite;
          animation: p-sim-swipe-hint 1.6s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-sim-graph__attention img {
    -webkit-animation: none;
            animation: none;
  }
}
.p-sim-graph__attention.is-hidden {
  opacity: 0;
}
@-webkit-keyframes p-sim-swipe-hint {
  0%, 100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(30%);
            transform: translateX(30%);
  }
}
@keyframes p-sim-swipe-hint {
  0%, 100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(30%);
            transform: translateX(30%);
  }
}
.p-sim-graph__legend {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  list-style: none;
}
@media screen and (max-width: 834px) {
  .p-sim-graph__legend {
    gap: min(8.8px, 2.133vw);
    margin-top: min(13.2px, 3.2vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-graph__legend {
    gap: min(8.8px, 0.586vw);
    margin-top: min(13.2px, 0.878vw);
  }
}
.p-sim-graph__legend li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: var(--font-size-xs);
  font-weight: var(--fw-regular);
  line-height: var(--lh-narrow);
  color: var(--text-cl-01);
}
@media screen and (max-width: 834px) {
  .p-sim-graph__legend li {
    gap: min(4.4px, 1.067vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-graph__legend li {
    gap: min(4.4px, 0.293vw);
  }
}
.p-sim-graph__legend li::before {
  content: "";
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 834px) {
  .p-sim-graph__legend li::before {
    width: min(13.2px, 3.2vw);
    height: min(13.2px, 3.2vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-graph__legend li::before {
    width: min(13.2px, 0.878vw);
    height: min(13.2px, 0.878vw);
  }
}
.p-sim-graph__legend li.--own::before {
  background-color: var(--secondary-cl-01);
}
.p-sim-graph__legend li.--other::before {
  background-color: var(--tertiary-cl-03);
}

.p-sim-modal__section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 834px) {
  .p-sim-modal__section {
    gap: min(22px, 5.333vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-modal__section {
    gap: min(22px, 1.464vw);
  }
}
.p-sim-modal__sub-title, .p-sim-modal__lead {
  font-size: var(--form-font-size-l);
  font-weight: var(--fw-regular);
  line-height: var(--lh-narrow);
  color: var(--text-cl-01);
}
.p-sim-modal__compare {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
@media screen and (max-width: 834px) {
  .p-sim-modal__compare {
    gap: min(6.6px, 1.6vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-modal__compare {
    gap: min(6.6px, 0.439vw);
  }
}
.p-sim-modal__compare-item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 834px) {
  .p-sim-modal__compare-item {
    border-radius: min(4.4px, 1.067vw);
    padding: min(17.6px, 4.267vw);
    gap: min(4.4px, 1.067vw);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (min-width: 835px) {
  .p-sim-modal__compare-item {
    border-radius: min(4.4px, 0.293vw);
    padding: min(17.6px, 1.171vw);
    gap: min(4.4px, 0.293vw);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.p-sim-modal__compare-item.--before {
  background-color: var(--bg-04);
  color: var(--text-cl-03);
}
.p-sim-modal__compare-item.--after {
  background-color: var(--bg-02);
  color: var(--text-cl-01);
}
.p-sim-modal__compare-name {
  font-size: var(--font-size-xs);
  font-weight: var(--fw-regular);
  line-height: var(--lh-narrow);
}
.p-sim-modal__compare-price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  white-space: nowrap;
  font-size: var(--form-font-size-h4);
  font-weight: var(--fw-medium);
  line-height: var(--lh-narrow);
}
@media screen and (max-width: 834px) {
  .p-sim-modal__compare-price {
    gap: min(4.4px, 1.067vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-modal__compare-price {
    gap: min(4.4px, 0.293vw);
  }
}
.p-sim-modal__compare-num {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-family: var(--font-num-01);
  font-weight: var(--fw-medium);
  line-height: 1.2;
}
@media screen and (max-width: 834px) {
  .p-sim-modal__compare-num {
    font-size: clamp(20.4px, 6.4vw, 26.4px);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-modal__compare-num {
    font-size: clamp(20.4px, 1.757vw, 26.4px);
  }
}
.p-sim-modal__compare-arrow {
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0;
  height: 0;
}
@media screen and (max-width: 834px) {
  .p-sim-modal__compare-arrow {
    border-block: min(5.5px, 1.333vw) solid transparent;
    border-left: min(8.8px, 2.133vw) solid var(--text-cl-01);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-modal__compare-arrow {
    border-block: min(5.5px, 0.366vw) solid transparent;
    border-left: min(8.8px, 0.586vw) solid var(--text-cl-01);
  }
}
.p-sim-modal__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.p-sim-modal__table th {
  background-color: var(--bg-03);
  color: var(--text-cl-02);
  font-weight: var(--fw-regular);
  line-height: var(--lh-narrow);
  text-align: center;
  vertical-align: middle;
  padding: 2px;
}
@media screen and (max-width: 834px) {
  .p-sim-modal__table th {
    font-size: var(--font-size-xxs);
    font-size: var(--font-size-xxs);
    border: 1px solid var(--border-cl-03);
    height: min(44px, 10.667vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-modal__table th {
    font-size: clamp(10.2px, 0.878vw, 13.2px);
    border: 1px solid var(--border-cl-03);
    height: min(44px, 2.928vw);
  }
}
.p-sim-modal__table td {
  font-weight: var(--fw-regular);
  line-height: var(--lh-narrow);
  color: var(--text-cl-01);
  text-align: center;
  vertical-align: middle;
  padding: 2px;
}
@media screen and (max-width: 834px) {
  .p-sim-modal__table td {
    font-size: var(--font-size-xxs);
    height: min(44px, 10.667vw);
  }
}
@media screen and (min-width: 835px) {
  .p-sim-modal__table td {
    font-size: clamp(10.2px, 0.878vw, 13.2px);
    height: min(44px, 2.928vw);
  }
}
.p-sim-modal__table tbody tr:nth-child(even) {
  background-color: var(--bg-04);
}
.p-sim-modal__table tbody tr.--total {
  background-color: var(--bg-02);
}