@charset "utf-8";
/* calculator_box */
.calculator_box ul:not(:first-of-type) { padding-top: 12px; border-top: 1px solid var(--gray-02); margin-top: 12px; }
.calculator_box .detail_price_box > li,
.calculator_box .total_price_box,
.calculator_box .toggle_price_box > dl { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; }
.calculator_box .th { flex: 1; }
.calculator_box .td { min-width: 100px; text-align: right; }
.calculator_box .toggle_tab::after { width: 22px; height: 22px; background: url(../../image/icon/icon_toggle_b.svg) no-repeat center center; background-size: 20px; cursor: pointer; content: ''; display: inline-block; vertical-align: -6px; margin-left: 4px; }
.calculator_box .toggle_tab.on::after { transform: rotate(180deg); }
.calculator_box .toggle_cont { display: none; }
/*? total */
.calculator_box .total_price_box { margin-top: 12px; }
.calculator_box .total_price_box .th { font-size: 18px; font-weight: 700; color: var(--black); line-height: 22px; }
.calculator_box .total_price_box .td { font-size: 24px; font-weight: 700; color: var(--black); line-height: 32px; }
/*? detail */
.calculator_box .detail_price_box > li { margin-bottom: 10px; }
.calculator_box .detail_price_box > li:last-of-type { margin-bottom: 0; }
.calculator_box .detail_price_box .th { font-size: 16px; font-weight: 400; color: var(--gray-03); line-height: 22px; }
.calculator_box .detail_price_box .td { font-size: 16px; font-weight: 500; color: var(--gray-03); line-height: 22px; }
/*? toggle */
.calculator_box .toggle_price_box { width: 100%; padding: 0 8px; margin-top: 10px; }
.calculator_box .toggle_price_box > dl { margin-bottom: 8px; }
.calculator_box .toggle_price_box > dl:last-of-type { margin-bottom: 0; }
.calculator_box .toggle_price_box .th { font-size: 14px; }
.calculator_box .toggle_price_box .th::before { content: 'ㄴ'; display: inline-block; margin-right: 3px; }
.calculator_box .toggle_price_box .td { font-size: 14px; font-weight: 400; }

/* 적립금  */
.point_list { padding: 12px 0; border-top: 1px solid var(--gray-02); border-bottom: 1px solid var(--gray-02); }
.point_list .point_box { position: relative; width: 100%; padding-left: 30px; margin-bottom: 12px; }
.point_list .point_box:last-of-type { margin-bottom: 0; }
.point_list .point_box .point_detail_box { display: none; width: 100%; overflow: hidden; }
.point_list .point_box .point_detail_box.on { display: block; }
.point_list .point_box .point_detail_box.wide { position: relative; width: calc(100% + 30px); left: -30px; }
.point_list .point_box .icon_radio,
.point_list .point_box .icon_chkbox,
.point_list .point_box .icon_chkbox02 { position: absolute; left: 0; top: 1px; }
.point_list .point_box .point_title { font-size: 16px; font-weight: 500; color: var(--black-70); line-height: 24px; }
.point_list .point_box .point_title em { font-size: 12px; color: var(--gray-03); display: inline-block; }
.point_list .point_box .point_val { float: right; display: inline-block; opacity: 0; }
.point_list .point_box .point_val.on { opacity: 1; }
.point_list .point_box .point_state { display: flex; justify-content: space-between; width: 100%; font-size: 13px; font-weight: 400; color: var(--gray-03); line-height: 20px; }
.point_list .point_box .point_desc { display: block; width: 100%; font-size: 13px; font-weight: 400; color: var(--purple); line-height: 20px; }
.point_list .point_box .fold { height: 0; overflow: hidden; }
.point_list .point_box input:checked + label .point_title { color: var(--black); font-weight: 600; }
.point_list .point_box input:checked + label .point_title .point_val { opacity: 1; }