.simulator{
    --attention-color: #ff4672;
    --background-color: #def3ca;
    --calc-button-color: #8ac354;
}
.simulator{
    background: var(--background-color);
    border-radius: 20px;
    padding: 10px 0;
    text-align: left;
}
.attention{
    color: var(--attention-color);
    font-size: 13px;
    margin: 0 5px 5px 5px;
}
.simulator_input_box {
    display: flex;
    flex-direction: column;
    padding: 10px;
    margin: 10px 0;
    border-bottom: 1px solid #c9c9c9;
}
.simulator_input_box .required:after{
    content: "【必須】";
    color: var(--attention-color);
    margin-left: 5px;
}
.simulator_input_box input,
.simulator_input_box select{
    font-size: 16px;
    padding: 8px;
    margin:5px;
    border: none;
    border-radius: 5px;
    background-color: #fff;
}
.simulator_input_box input:not([type="checkbox"]),
.simulator_input_box select{
    -webkit-appearance: none;
    appearance: none;
}
.simulator_input_box label{
    font-size: 16px;
    margin-bottom: 5px;
}
.simulator_time_input{
    display: flex;
    align-items: center;
}
#simulator_time_hour,
#simulator_time_minute{
    flex-grow: 1;
}
.simulator_course_item label{
    display: inline-block;
    min-width: 9rem;
}
.simulator_course_item select{
    width:3rem;
}
.simulator_option_box{
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.simulator_result_area{
    padding: 10px;
}
.simulator_result{
    background: #fff;
    border-radius: 10px;
    padding: 20px;
}
.simulator_btn{
    background: var(--calc-button-color);
    color: #fff;
    text-align: center;
    padding: 20px;
    border-radius: 5px;
    margin: 10px auto;
    cursor: pointer;
    font-size: 18px;
    width: 280px;
}