*,
*::after,
*::before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
body,
button,
input,
select,
textarea {
    font-family: "Noto Sans JP", sans-serif;
}
html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary,
div,
span,
p,
ul,
ol,
li,
dl,
dt,
dd,
table,
tr,
th,
td,
a,
img,
label,
form,
input,
textarea {
    margin: 0;
    padding: 0;
}
ol,
ul {
    list-style: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}
img {
    border: 0;
    height: auto;
    line-height: 1;
    vertical-align: bottom;
    max-width: 100%;
}
a {
    background: rgba(0, 0, 0, 0);
    cursor: pointer;
    outline: 0 none;
}
html {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}
body {
    color: #000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 100svh;
    line-height: 1.5;
}
main {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
}
.clearfix {
    display: block;
}
.clearfix::before,
.clearfix::after {
    clear: both;
    content: "";
    display: block;
}
@media (min-width: 769px), print {
    .pc_hide {
        display: none !important;
    }
}
@media (max-width: 768px) {
    .sp_hide {
        display: none !important;
    }
}
html {
    scroll-behavior: smooth;
}
body {
    font-size: min(1.2903225806vw, 1rem);
    background-color: #fff;
    overflow-x: hidden;
}
@media (max-width: 768px) {
    body {
        font-size: 3.7333333333vw;
    }
}
body.fixed {
    overflow: hidden;
}
select {
    -moz-appearance: menulist;
    -webkit-appearance: menulist;
    appearance: menulist;
}
a {
    color: #e6115a;
    text-decoration: none;
    -webkit-text-decoration-skip-ink: none;
    text-decoration-skip-ink: none;
    -webkit-transition:
        0.3s background-color ease,
        0.3s border-color ease,
        0.3s color ease;
    transition:
        0.3s background-color ease,
        0.3s border-color ease,
        0.3s color ease;
}
@media (hover: hover) {
    a:hover {
        color: #758ebd;
        text-decoration: none;
    }
}
@media (hover: none) {
    a:active {
        color: #758ebd;
        text-decoration: none;
    }
}
@media (min-width: 769px), print {
    a[href^="tel:"] {
        pointer-events: none;
    }
}
img[src$=".svg"] {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}
button {
    border: none;
    border-radius: 0;
    background: none;
    cursor: pointer;
    -webkit-transition:
        0.3s background-color ease,
        0.3s border-color ease,
        0.3s color ease;
    transition:
        0.3s background-color ease,
        0.3s border-color ease,
        0.3s color ease;
}
input {
    background: none;
    border: none;
    border-radius: 0;
}
::-webkit-input-placeholder {
    color: #aaa;
}
::-moz-placeholder {
    color: #aaa;
}
:-ms-input-placeholder {
    color: #aaa;
}
::-ms-input-placeholder {
    color: #aaa;
}
::placeholder {
    color: #aaa;
}
.sim_wrap {
    container-type: inline-size;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    width: 100%;
    max-width: 96.7741935484vw;
}
@media (min-width: 1241px) {
    .sim_wrap {
        max-width: 1200px;
    }
}
@media (max-width: 768px) {
    .sim_wrap {
        max-width: 100%;
    }
}
.sim_ttl {
    background:
        -webkit-gradient(linear, left top, right top, from(rgba(230, 17, 90, 0.8)), to(rgba(255, 205, 0, 0.8))),
        url("../images/bg-ttl.webp") center center/cover no-repeat;
    background:
        linear-gradient(to right, rgba(230, 17, 90, 0.8), rgba(255, 205, 0, 0.8)),
        url("../images/bg-ttl.webp") center center/cover no-repeat;
    color: #fff;
    padding: min(38px, 3.064516129vw) min(20px, 1.6129032258vw);
    text-align: center;
}
@media (max-width: 768px) {
    .sim_ttl {
        padding: 5.3333333333vw;
    }
}
.sim_ttl_logo {
    background-color: #fff;
    border-radius: min(50px, 4.0322580645vw);
    margin: 0 auto min(8px, 0.6451612903vw);
    padding: min(8px, 0.6451612903vw);
    width: min(358px, 28.8709677419vw);
}
@media (max-width: 768px) {
    .sim_ttl_logo {
        border-radius: 13.3333333333vw;
        margin-bottom: 1.3333333333vw;
        padding: 1.6vw;
        width: 64vw;
    }
}
.sim_ttl_logo img {
    display: block;
    height: min(36px, 2.9032258065vw);
    margin: auto;
}
@media (max-width: 768px) {
    .sim_ttl_logo img {
        height: 7.4666666667vw;
    }
}
.sim_ttl_txt {
    font-size: min(2.9032258065vw, 2.25rem);
}
@media (max-width: 768px) {
    .sim_ttl_txt {
        font-size: 5.8666666667vw;
    }
}
.sim_content {
    padding: min(40px, 3.2258064516vw) min(20px, 1.6129032258vw) min(50px, 4.0322580645vw);
}
@media (max-width: 768px) {
    .sim_content {
        padding: 5.3333333333vw 5.3333333333vw 10.6666666667vw;
    }
}
.sim_intro {
    margin-bottom: min(40px, 3.2258064516vw);
}
@media (min-width: 769px), print {
    .sim_intro {
        text-align: center;
    }
}
@media (max-width: 768px) {
    .sim_intro {
        margin-bottom: 5.3333333333vw;
    }
}
@media (min-width: 769px), print {
    .sim_container {
        display: grid;
        gap: min(44px, 3.5483870968vw);
        grid-template-columns: 1fr min(300px, 24.1935483871vw);
    }
}
.sim_main_select {
    margin-bottom: min(20px, 1.6129032258vw);
}
@media (min-width: 769px), print {
    .sim_main_select {
        display: grid;
        gap: min(20px, 1.6129032258vw) min(16px, 1.2903225806vw);
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 768px) {
    .sim_main_select {
        margin-bottom: 2.6666666667vw;
    }
}
@media (max-width: 768px) {
    .sim_main_select li {
        margin-bottom: 1.3333333333vw;
    }
}
.sim_main_select input {
    display: none;
}
.sim_main_select label {
    font-size: min(1.4516129032vw, 1.125rem);
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #eef4fb;
    border-radius: min(10px, 0.8064516129vw);
    color: #758ebd;
    cursor: pointer;
    display: block;
    font-weight: 700;
    padding: min(30px, 2.4193548387vw) min(55px, 4.435483871vw) min(30px, 2.4193548387vw) min(25px, 2.0161290323vw);
    position: relative;
}
@media (max-width: 768px) {
    .sim_main_select label {
        font-size: 3.7333333333vw;
        border-radius: 1.6vw;
        padding: 4vw 10.6666666667vw 4vw 4vw;
    }
}
.sim_main_select label::before,
.sim_main_select label::after {
    content: "";
    pointer-events: none;
    position: absolute;
}
.sim_main_select label::before {
    aspect-ratio: 1/1;
    background-color: #fff;
    border: min(2px, 0.1612903226vw) solid currentColor;
    border-radius: 100%;
    right: min(20px, 1.6129032258vw);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    top: 50%;
    width: min(28px, 2.2580645161vw);
}
@media (max-width: 768px) {
    .sim_main_select label::before {
        border-width: 0.5333333333vw;
        right: 3.7333333333vw;
        width: 5.3333333333vw;
    }
}
.sim_main_select label::after {
    border: min(4px, 0.3225806452vw) solid #758ebd;
    border-radius: min(10px, 0.8064516129vw);
    bottom: 0;
    left: 0;
    top: 0;
    right: 0;
}
@media (max-width: 768px) {
    .sim_main_select label::after {
        border-width: 0.5333333333vw;
        border-radius: 1.6vw;
    }
}
.sim_main_select label:has(input:disabled) {
    background-color: #efefef;
    color: #aaa;
    cursor: auto;
}
.sim_main_select label:has(input:disabled)::before {
    background-color: rgba(0, 0, 0, 0);
    border-color: #ccc;
}
.sim_main_select label:has(input:disabled)::after {
    border: min(2px, 0.1612903226vw) solid #ccc;
}
@media (max-width: 768px) {
    .sim_main_select label:has(input:disabled)::after {
        border-width: 0.5333333333vw;
    }
}
.sim_main_select label:has(input:checked) {
    background-color: #e6115a;
    color: #fff;
}
.sim_main_select label:has(input:checked)::before {
    background-color: #e6115a;
    border-width: min(5px, 0.4032258065vw);
}
@media (max-width: 768px) {
    .sim_main_select label:has(input:checked)::before {
        border-width: 1.0666666667vw;
    }
}
.sim_main_select label:has(input:checked)::after {
    display: none;
}
.sim_main_select_ico {
    display: block;
    padding-left: min(34px, 2.7419354839vw);
    position: relative;
}
@media (max-width: 768px) {
    .sim_main_select_ico {
        padding-left: 6.4vw;
    }
}
.sim_main_select_ico::before {
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    aspect-ratio: 1/1;
    background-color: currentColor;
    content: "";
    left: 0;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: min(21px, 1.6935483871vw);
}
@media (max-width: 768px) {
    .sim_main_select_ico::before {
        width: 4.2666666667vw;
    }
}
.sim_main_select_ico1::before {
    -webkit-mask-image: url("../images/ico-select1.svg");
    mask-image: url("../images/ico-select1.svg");
}
.sim_main_select_ico2::before {
    -webkit-mask-image: url("../images/ico-select2.svg");
    mask-image: url("../images/ico-select2.svg");
}
.sim_main_select_ico3::before {
    -webkit-mask-image: url("../images/ico-select3.svg");
    mask-image: url("../images/ico-select3.svg");
}
.sim_main_select_ico4::before {
    -webkit-mask-image: url("../images/ico-select4.svg");
    mask-image: url("../images/ico-select4.svg");
}
.sim_main_select_ico5::before {
    -webkit-mask-image: url("../images/ico-select5.svg");
    mask-image: url("../images/ico-select5.svg");
}
.sim_main_select_ico6::before {
    -webkit-mask-image: url("../images/ico-select6.svg");
    mask-image: url("../images/ico-select6.svg");
}
.sim_main_select_ico7::before {
    -webkit-mask-image: url("../images/ico-select7.svg");
    mask-image: url("../images/ico-select7.svg");
}
.sim_main_select_ico8::before {
    -webkit-mask-image: url("../images/ico-select8.svg");
    mask-image: url("../images/ico-select8.svg");
}
.sim_main_input {
    background-color: #efefef;
    border-radius: min(15px, 1.2096774194vw);
    display: grid;
    gap: min(70px, 5.6451612903vw);
    grid-template-columns: repeat(2, 1fr);
    padding: min(30px, 2.4193548387vw) min(25px, 2.0161290323vw);
}
@media (max-width: 768px) {
    .sim_main_input {
        border-radius: 2.6666666667vw;
        gap: 4vw;
        grid-template-columns: 1fr;
        margin-bottom: 2.6666666667vw;
        padding: 5.3333333333vw 4vw;
    }
}
.sim_main_input_num dt {
    font-size: min(1.4516129032vw, 1.125rem);
    font-weight: 700;
    margin-bottom: min(10px, 0.8064516129vw);
    padding-left: min(36px, 2.9032258065vw);
    position: relative;
}
@media (max-width: 768px) {
    .sim_main_input_num dt {
        font-size: 4.2666666667vw;
        margin-bottom: 2.6666666667vw;
        padding-left: 6.4vw;
    }
}
.sim_main_input_num dt::before {
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    aspect-ratio: 1/1;
    background-color: #e6115a;
    content: "";
    left: 0;
    position: absolute;
    top: min(2px, 0.1612903226vw);
    width: min(22px, 1.7741935484vw);
}
@media (max-width: 768px) {
    .sim_main_input_num dt::before {
        top: 1.0666666667vw;
        width: 4.2666666667vw;
    }
}
.sim_main_input_num dt span {
    font-size: min(1.2903225806vw, 1rem);
    font-weight: 400;
}
@media (max-width: 768px) {
    .sim_main_input_num dt span {
        font-size: 3.7333333333vw;
    }
}
.sim_main_input_num dd {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.8em;
    width: 100%;
}
.sim_main_input_num dd input {
    background-color: #fff;
    border: min(2px, 0.1612903226vw) solid #fff;
    border-radius: min(10px, 0.8064516129vw);
    display: block;
    padding: min(20px, 1.6129032258vw);
    text-align: right;
    width: 100%;
}
@media (max-width: 768px) {
    .sim_main_input_num dd input {
        font-size: 4.2666666667vw;
        border-radius: 1.6vw;
        border-width: 0.5333333333vw;
        padding: 4vw;
    }
}
.sim_main_input_num dd input:disabled {
    background-color: rgba(0, 0, 0, 0);
    border-color: #ccc;
    color: #aaa;
}
.sim_main_input_num_txt {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0%;
    flex: 1 1 0%;
}
.sim_main_input_num_user::before {
    -webkit-mask-image: url(../images/ico-user.svg);
    mask-image: url(../images/ico-user.svg);
}
.sim_main_input_num_issue::before {
    -webkit-mask-image: url(../images/ico-issue.svg);
    mask-image: url(../images/ico-issue.svg);
}
.sim_result_box {
    background: -webkit-gradient(linear, left top, right top, from(#ffc5d9), to(#f8e59a));
    background: linear-gradient(to right, #ffc5d9, #f8e59a);
    border-radius: min(15px, 1.2096774194vw);
    -webkit-box-shadow: min(10px, 0.8064516129vw) min(10px, 0.8064516129vw) min(20px, 1.6129032258vw)
        rgba(0, 0, 0, 0.05);
    box-shadow: min(10px, 0.8064516129vw) min(10px, 0.8064516129vw) min(20px, 1.6129032258vw) rgba(0, 0, 0, 0.05);
    margin-bottom: min(18px, 1.4516129032vw);
    padding: min(30px, 2.4193548387vw) min(10px, 0.8064516129vw) min(10px, 0.8064516129vw);
}
@media (max-width: 768px) {
    .sim_result_box {
        border-radius: 2.6666666667vw;
        -webkit-box-sizing: 1.3333333333vw 1.3333333333vw 2.6666666667vw rgba(0, 0, 0, 0.05);
        box-sizing: 1.3333333333vw 1.3333333333vw 2.6666666667vw rgba(0, 0, 0, 0.05);
        margin-bottom: 2.6666666667vw;
        padding: 5.3333333333vw 2.6666666667vw 2.6666666667vw;
    }
}
.sim_result_ttl {
    font-size: min(1.4516129032vw, 1.125rem);
    font-weight: 700;
    margin-bottom: min(20px, 1.6129032258vw);
    text-align: center;
}
@media (max-width: 768px) {
    .sim_result_ttl {
        font-size: 4.8vw;
        margin-bottom: 4vw;
    }
}
.sim_result_ttl span {
    font-size: min(1.2903225806vw, 1rem);
    font-weight: 400;
}
@media (max-width: 768px) {
    .sim_result_ttl span {
        font-size: 3.7333333333vw;
    }
}
.sim_result_inner {
    background-color: #fff;
    border-radius: min(10px, 0.8064516129vw);
    padding: min(20px, 1.6129032258vw) min(20px, 1.6129032258vw) min(30px, 2.4193548387vw);
}
@media (max-width: 768px) {
    .sim_result_inner {
        border-radius: 1.6vw;
        padding: 4vw;
    }
}
.sim_result_total dt {
    font-weight: 700;
    margin-bottom: min(10px, 0.8064516129vw);
}
@media (max-width: 768px) {
    .sim_result_total dt {
        font-size: 4.2666666667vw;
        margin-bottom: 1.6vw;
    }
}
.sim_result_total dt span {
    font-size: min(1.1290322581vw, 0.875rem);
    color: #e6115a;
    display: block;
    font-weight: 400;
}
@media (max-width: 768px) {
    .sim_result_total dt span {
        font-size: 2.6666666667vw;
    }
}
.sim_result_total dd {
    font-size: min(1.2096774194vw, 0.9375rem);
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-bottom: 1px solid #707070;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: 700;
    gap: 0.5em;
    margin-bottom: min(16px, 1.2903225806vw);
    padding-bottom: min(6px, 0.4838709677vw);
    text-align: right;
}
@media (max-width: 768px) {
    .sim_result_total dd {
        font-size: 3.7333333333vw;
        margin-bottom: 2.6666666667vw;
        padding-bottom: 1.3333333333vw;
    }
}
.sim_result_total_number {
    font-size: min(2.4193548387vw, 1.875rem);
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0%;
    flex: 1 1 0%;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: bold;
}
@media (max-width: 768px) {
    .sim_result_total_number {
        font-size: 6.9333333333vw;
    }
}
.sim_result_btn {
    font-size: min(1.4516129032vw, 1.125rem);
    background: -webkit-gradient(linear, left top, right top, color-stop(50%, #e6115a), to(#ffcd00));
    background: linear-gradient(to right, #e6115a 50%, #ffcd00 100%);
    background-position: right center;
    background-size: 200% 100%;
    border-radius: min(60px, 4.8387096774vw);
    color: #fff;
    font-weight: 700;
    padding: min(20px, 1.6129032258vw);
    -webkit-transition: background-position 0.3s ease;
    transition: background-position 0.3s ease;
    text-align: center;
    width: 100%;
}
@media (max-width: 768px) {
    .sim_result_btn {
        font-size: 4.2666666667vw;
        border-radius: 16vw;
        padding: 5.3333333333vw;
    }
}
@media (hover: hover) {
    .sim_result_btn:hover {
        background-position: left center;
    }
}
@media (hover: none) {
    .sim_result_btn:active {
        background-position: left center;
    }
}
.sim_result_sup {
    font-size: min(1.0483870968vw, 0.8125rem);
    color: #707070;
}
@media (max-width: 768px) {
    .sim_result_sup {
        font-size: 3.2vw;
    }
}
.sim_footer {
    margin-top: min(40px, 3.2258064516vw);
    padding-top: min(22px, 1.7741935484vw);
    position: relative;
}
@media (max-width: 768px) {
    .sim_footer {
        margin-top: 5.3333333333vw;
        padding-top: 4vw;
    }
}
.sim_footer::before {
    background: -webkit-gradient(linear, left top, right top, from(#e6115a), to(#ffcd00));
    background: linear-gradient(to right, #e6115a, #ffcd00);
    content: "";
    height: min(2px, 0.1612903226vw);
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}
@media (max-width: 768px) {
    .sim_footer::before {
        height: 0.5333333333vw;
    }
}
.sim_footer_logo {
    margin: auto;
    width: min(228px, 18.3870967742vw);
}
@media (max-width: 768px) {
    .sim_footer_logo {
        width: 40vw;
    }
}
.sim_footer_logo img {
    display: block;
}

