/* Add your own CSS code here */
.tax-saving-simulator{

    max-width:900px;
    margin:60px auto;
    background:#fff;
    border-radius:14px;
    box-shadow:0 10px 35px rgba(0,0,0,.08);
    overflow:hidden;
    border:1px solid #eee;

    font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

}



.simulator-header{

    background:#17375E;
    color:#fff;
    padding:55px 45px;
    text-align:center;

}

.simulator-header .sub-title{

    display:inline-block;

    letter-spacing:2px;

    color:#d6b56b;

    margin-bottom:15px;

    font-size:13px;

    text-transform:uppercase;

}

.simulator-header h2{

    margin:0;

    line-height:1.6;

    font-size:34px;

    font-weight:700;

}

.simulator-header h2 span{

    display:block;

    color:#d6b56b;

    font-size:42px;

    margin-top:10px;

}

.simulator-header p{

    margin-top:25px;

    opacity:.85;

}



.tax-saving-simulator_wrapper{

    padding:50px;

}



.caption{

    text-align:center;

    margin-bottom:40px;

    color:#666;

}



.tax-saving-simulator_content{

    display:flex;

    flex-direction:column;

    gap:30px;

}



.tax-saving-simulator_form-title{

    font-size:20px;

    font-weight:700;

    margin-bottom:15px;

    color:#17375E;

}



.item_num{

    width:34px;

    height:34px;

    background:#17375E;

    color:#fff;

    border-radius:50%;

    display:inline-flex;

    justify-content:center;

    align-items:center;

    margin-right:12px;

    font-weight:bold;

}



.item_num.small{

    width:26px;

    height:26px;

    font-size:13px;

}



.tax-saving-simulator_input{

    width:100%;

    max-width:350px;

    border:2px solid #ddd;

    border-radius:8px;

    font-size:28px;

    padding:18px;

    transition:.3s;

}



.tax-saving-simulator_input:focus{

    border-color:#17375E;

    outline:none;

    box-shadow:0 0 0 4px rgba(23,55,94,.1);

}



.tax-saving-simulator_form-group{

    margin-bottom:10px;

}



.row{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:20px;

}



.radio_label{

    display:flex;

    justify-content:center;

    align-items:center;

    padding:22px;

    border:2px solid #ddd;

    border-radius:10px;

    cursor:pointer;

    transition:.3s;

    font-weight:600;

    position:relative;

}



.radio_label:hover{

    border-color:#17375E;

    background:#f7f9fc;

}



.radio_label input{

    position:absolute;

    opacity:0;

}



.radio_label:has(input:checked){

    background:#17375E;

    color:#fff;

    border-color:#17375E;

}



.btn-group{

    display:flex;

    gap:20px;

    justify-content:center;

    margin-top:50px;

}



.btn_execute{

    background:#17375E;

    color:#fff;

    padding:18px 60px;

    border-radius:8px;

    cursor:pointer;

    transition:.3s;

    font-weight:bold;

}



.btn_execute:hover{

    background:#0d2746;

    transform:translateY(-2px);

}



.btn_reset{

    background:#eee;

    color:#666;

    padding:18px 60px;

    border-radius:8px;

    cursor:pointer;

    transition:.3s;

}



.btn_reset:hover{

    background:#ddd;

}



.check_result{

    display:inline-block;

    background:#17375E;

    color:#fff;

    padding:8px 20px;

    border-radius:30px;

    margin-bottom:20px;

}



.suggestion{

    color:#17375E;

    font-size:32px;

    line-height:1.5;

    margin-bottom:30px;

}



.thumbnail img{

    width:220px;

    border-radius:12px;

}



.tax-saving-simulator_content{

    display:flex;

    gap:35px;

}



.article_info{

    flex:1;

}



.article_info label{

    display:inline-block;

    background:#d6b56b;

    color:#fff;

    padding:5px 12px;

    border-radius:30px;

    margin-bottom:15px;

}



.article_info h4{

    font-size:26px;

    margin-bottom:15px;

    color:#17375E;

}



.fake_link{

    color:#17375E;

    font-weight:bold;

    cursor:pointer;

}



.fake_link:hover{

    text-decoration:underline;

}



@media(max-width:768px){

.simulator-header{

padding:40px 25px;

}

.simulator-header h2{

font-size:26px;

}

.simulator-header h2 span{

font-size:32px;

}

.tax-saving-simulator_wrapper{

padding:25px;

}

.row{

grid-template-columns:1fr;

}

.btn-group{

flex-direction:column;

}

.btn_execute,

.btn_reset{

width:100%;

text-align:center;

}

.tax-saving-simulator_content{

flex-direction:column;

}

.thumbnail img{

width:100%;

}

}