#simulation_premium_content{
    .col-sm input{
        max-width: 12em;
    }

    .table>:not(caption)>*>*{
        border: none;
    }

    /* セレクトリストカスタマイズ */
    .custom_select {
        position: relative;
    }
    .custom_select select{
        appearance: none;
        -moz-appearance: none;
        -webkit-appearance: none;
        background: white;
    }
    .custom_select::after {
        content: "▼";
        font-size: 1.25rem;
        color: #6DC9F0;
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
        pointer-events: none;
    }

    .form-select,
    .form-control{
        border-color: #999999;
        padding-top: .5em;
        padding-bottom: .5em;
    }

    .c-title {
        color: #003587;
        font-weight: bold;
        font-size: 20px;
        line-height: 1;
        margin-top: 40px;
    }

    .white_btn{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 1rem 2rem;
        font-size: 1rem;
        background-color: #ffffff;
        border: 1px solid #ccc;
        border-radius: 50px;
        cursor: pointer;
        text-decoration: none;
        transition: all 0.3s ease;
        color: #000;

        &:hover{
            background-color: #f0f0f0;
        }
    }

    .blue_btn{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 1rem 2rem;
        font-size: 1rem;
        color: #ffffff;
        background-color: #004097;
        border: none;
        border-radius: 50px;
        cursor: pointer;
        text-decoration: none;
        transition: all 0.3s ease;

        &:hover{
            background-color: #002f6c;
        }
    }

    .orange_btn{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 1rem 2rem;
        font-size: 1rem;
        color: #ffffff;
        background-color: #FF8001;
        border: none;
        border-radius: 50px;
        cursor: pointer;
        text-decoration: none;
        transition: all 0.3s ease;

        &:hover{
            background-color: #a85400;
        }
    }

    .btn_icon{
        height: 1em;
        padding-right: .5em;
    }
    .i_reset {
        content: url(../img/icon_feather-repeat.png);
    }
    .i_calc {
        content: url(../img/icon_calc_white.png);
    }
    .i_reload {
        content: url(../img/icon_reload_blue.png);
    }
    .i_print {
        content: url(../img/icon_printer_white.png);
    }
    .i_circle_arrow_down {
        content: url(../img/icon_circle_arrow_down_white.png);
    }

    .p_simulation_unit{
        font-size: 1rem;
        font-weight: normal !important;
        color: #000 !important;
        white-space: nowrap;
    }

    .error_msg_parent{
        position: relative;
    }
    .error_msg{
        font-weight: bold;
        position: absolute;
        display: inline-block;
        padding: 1rem;
        background: rgb(211 44 60 / 90%);
        color: #fff;
        border-radius: 10px;
        width: max-content;
        top: 5px;
        right: 0;
        z-index: 100;
        text-align: left;

        &::after {
            content: "";
            display: block;
            position: absolute;
            right: 80px;
            top: -2px;
            margin-left: -2px;
            z-index: 100;
            width: 2px;
            height: 2px;
            background-color: #e64258;
            border: 2px solid;
            border-color: transparent transparent #e64258 #e64258;
            transform: rotate(45deg);
        }
    }

    .form-control,
    .form-select{
        color: #000;
        font-weight: bold;

        &::placeholder{
            color: #b0b0b0;
        }
    }

    .p_simulation_card_header{
        padding: 1.25rem;
    }

    .print-page-break{
        page-break-before: always;
    }

    .p_simulation_item_title,
    .p_simulation_result_table{
        font-weight: bold;
    }

    .p_simulation_result_area{
        .p_simulation_price{
            color: #004097;
            font-size: 1.5rem;
            font-weight: bold;
        }

        .p_simulation_unit{
            display: inline-block;
            margin-left: .5rem;
        }

        .p_simulation_result_area__result_item{
            padding: .75rem;
            border-radius: 5px;

            &.result_button_area{
                padding: 0 1rem;

                > div{
                    flex-grow: 1;
                    >*{
                        width: 100%;
                    }
                }
            }

            &.p_simulation_result_area__result_item__result_total_hosyo{
                color: #004097;
                font-size: 1.2rem;
                padding-top: .5em;
                padding-bottom: .5em;
                border: 3px solid #6DC9F0;
                .p_simulation_price{
                    font-size: 1.75rem;
                }
            }
            &.p_simulation_result_area__result_item__result_total{
                color: #004097;
                font-size: 1.2rem;
                padding-top: .5em;
                padding-bottom: .5em;
                border: 3px solid #004097;
                .p_simulation_price{
                    font-size: 2rem;
                }
            }
        }
    }

    .p_simulation_result_table{
        font-size: 1.1rem;
        tbody{
            border-top: none;
            border-right: none;
            border-left: none;
            border-bottom: 2px solid #6DC9F0;
        }
        tr{
            th{
                background-color: #6DC9F0;
                color: #fff;
                font-weight: normal;
                text-align: left;
                padding: .5em;
            }
            td{
                padding: .5em;
                font-weight: bold;
                color: #004097;
            }
            td:first-child{
                color: #000;
            }
            &:nth-child(even) {
                background-color: #F0FAFE;
            }
            &:nth-child(odd) {
                background-color: #fff;
            }

        }
    }
    
    /* 通常時（ボタンが横に並ぶ場合） */
    .btn_fullwidth_container {
        flex-wrap: wrap;
    }

    .btn_fullwidth_container > div {
        flex: 1 1 auto;
        text-align: center;
    }

    /* ボタン内で改行を防ぐ */
    .btn_fullwidth {
        white-space: nowrap; /* 改行させない */
        display: inline-block;
        text-align: center;
        width: 100%; /* 幅を親要素に合わせる */
    }

    .in_print{
        display: none;
    }
}

.s_at_box.p_simulation_s_at_box {
    margin: 0;
    padding: 40px calc(50vw - 50%);
    width: 100%;
}

/* タブレット */
@media (min-width: 768px) {
}

/* スマホ */
@media (max-width: 576px) {
    #simulation_premium_content{
        .simulation_premium_content_simulation{
            font-size: 15px;
        }
        #p_simulation_input_kariire{
            width: 6em;
        }
        #p_simulation_input_tanpo{
            width: 6em;
        }
        .p_simulation_result_area{
            .p_simulation_price{
                font-size: 1.2rem;
            }
            #result_total_hosyo_label,
            #result_total_label{
                font-size: 1.2rem;
            }
            #result_total_hosyo.p_simulation_price,
            #result_total.p_simulation_price{
                font-size: 1.5rem;
            }
        }
    }
}

@media print {
    body>* {
        display: none;
    }

    #simulation_premium_content .no_print{
        display: none;
    }

    #simulation_premium_content .in_print{
        display: block;
    }

    #simulation_premium_content{
        display: block;
    }
    #simulation_premium_content #simulation_premium_content_simulation
    {
        display: flex;
        #simulation_premium_content .p_simulation_input_area,
        #simulation_premium_content .p_simulation_result_area{
            width: 90%;
            margin: 0 auto;
        }
    }

    .c-title{
        margin-bottom: 1rem!important;
    }
    .p_simulation_card_header{
        padding: 1rem!important;
    }
    .p_simulation_card_header h3{
        font-size: 20px!important;
        margin-bottom: 0!important;
    }
    .p_simulation_item_title,
    .p_simulation_price,
    .p_simulation_result_area__result_item__result_total_hosyo,
    .p_simulation_result_area__result_item__result_total,
    .p_simulation_result_table{
        font-size: 16px!important;
    }
    .p_simulation_result_area__result_item{
        padding: .5rem!important;
    }
    .p_simulation_input_area.mb-5{
        margin-bottom: 1.2rem !important;
    }
    hr.mb-3.mt-3{
        margin-top: .5rem !important;
        margin-bottom: .5rem !important;
    }
    .p_simulation_result_area__result_item.mb-3{
        margin-bottom: .5rem !important;
    }

    /* 横方向 (ランドスケープ) の場合 */
    @media (orientation: landscape) {
        .row.simulation_premium_content_simulation {
            flex-direction: row;
        }
    }

    /* 縦方向 (ポートレート) の場合 */
    @media (orientation: portrait) {
        .row.simulation_premium_content_simulation {
            flex-direction: column;
        }
        #simulation_premium_content .p_simulation_input_area,
        #simulation_premium_content .p_simulation_result_area{
            width: 100%;
        }
    }
}
