/* check build: 1.0.5 */

/* =============================== start common =============================== */
.box_icon {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    cursor: pointer;
    margin-bottom: -3px;
}

.box_icon .circle {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #FEE49B;
    display: flex;
    justify-content: center;
    align-items: center;
}

.box_icon .circle.open .plumin:after {
    display: none
}

.box_icon .circle .plumin {
    background-color: #FEE49B;
    border-radius: 19px;
    display: inline-block;
    height: 20px;
    margin-bottom: 2px;
    margin-left: 7px;
    position: relative;
    vertical-align: middle;
    width: 20px
}

.box_icon .circle .plumin:before {
    transform: translate(-50%,-50%)
}

.box_icon .circle .plumin:after,
.box_icon .circle .plumin:before {
    background-color: #FFC000;
    content: "";
    display: block;
    height: 5px;
    left: 34%;
    position: absolute;
    top: 55%;
    width: 25px;
    z-index: 0;
}

.box_icon .circle .plumin:after {
    transform: translate(-50%,-50%) rotate(90deg)
}

/* Start helper */
.bg-white {
    background: #ffffff !important;
}

.label-yellow {
    background: #FFF2CC !important;
}

.label-blue {
    background: #CFE2F3 !important;
}

.label-blue {
    background: #CFE2F3 !important;
}

.label-pink {
    background: #F4CCCC !important;
}

.label-red {
    background: #EA9999 !important;
}

/* End helper */
/* =============================== end common =============================== */

#cart {
    font-weight: 500;
}

.container {
    width: 88%;
}

.cart_window_door {
    max-width: 995px;
    display: flex;
    justify-content: center;
    gap: 15px;
    margin: auto;
    margin-top: 6px;
}

.cart_window_door .item_cart {
    width: 33.3%;
    height: 100%;
    border: 2px solid #e75400;
    border-radius: 10px;
    background: #EFEFEF;
}

.cart_window_door .item_cart .section_item_cart {
    border-radius: 10px 10px 0 0;
}

.cart_window_door .item_cart .section_item_cart .section_title {
    font-size: 22px;
    text-align: center;
    background: #E75400;
    color: #ffffff;
    padding-top: 2px;
    height: 34px;
    border-radius: 6px 6px 0 0;
    /* border: 2px solid #E75400; */
}

.cart_window_door .item_cart .divider_horizontal {
    width: 94%;
    height: 2px;
    margin: auto;
    background: #e75400;
}

/* Tablet/desktop (>=768px): scale width + font-size by the number of plans shown.
   - plans-3: unchanged (width 33.3%, default font-size).
   - plans-2: width 50% per plan, font-size scaled ~1.2x.
   - plans-1: width 70% (plan_selected only), font-size scaled ~1.4x.
   Mobile (<=767px) overrides width to 90% in the media query below; font unchanged. */
@media screen and (min-width: 768px) {
    .cart_window_door.plans-1 .item_cart {
        width: 100%;
    }

    /* ===== plans-2: font scale ~1.2x =====
       Base font-size for any text without its own font-size (e.g. `.text_total_amount`){ font-size: 19px; }

    /* ===== plans-1: font scale ~1.4x =====
       Base font-size for any text without its own font-size (e.g. `.text_total_amount`). */
    .cart_window_door.plans-1 .item_cart { font-size: 22px; }

    .cart_window_door.plans-1 .item_cart .divider_horizontal {
        width: 91.5%;
    }

    .cart_window_door.plans-1 .item_cart .un_cartResult_itemWrap {
        padding: 0px 25px 12px 25px;
    }

    .cart_window_door.plans-1 .item_cart .section_item_cart .section_title { 
        font-size: 31px;
        padding-top: 1px;
        height: 40px;
    }

    .cart_window_door.plans-1 .item_cart .un_cartResult_content.box_text {
        padding: 10px 40px 0px 10px !important;
    }

    .cart_window_door.plans-1 .item_cart .box_text_subsidy .area_selected { font-size: 18px; }
    .cart_window_door.plans-1 .item_cart .box_text_subsidy .area_selected ul li::before { font-size: 49px; }
    .cart_window_door.plans-1 .item_cart .bl_cartResult_subsidy .bl_cartResult_subsidy--item .bl_area_selected { font-size: 28px; }
    .cart_window_door.plans-1 .item_cart .bl_cartResult_subsidy .bl_cartResult_subsidy--item .bl_area_selected .icon_percent .text_percent { font-size: 35px; }
    .cart_window_door.plans-1 .item_cart .bl_cartResult_subsidy .area_selected_text { font-size: 24px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_content {
        padding: 4px 40px 16px 40px;
    }

    .cart_window_door.plans-1 .item_cart .un_cartResult_content .text_total_amount {
        width: 30% !important;
        font-size: 27px;
    }

    .cart_window_door.plans-1 .item_cart .un_cartResult_content .box_notice_cart { font-size: 31px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_subsidy .un_cartResult_subsidy--amount { font-size: 45px; padding-right: 17px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_subsidy .un_cartResult_subsidy--amount .err,
    .cart_window_door.plans-1 .item_cart .un_cartResult_subsidy .un_cartResult_subsidy--amount .err2 { font-size: 25px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_content .box_result_cart .text_subsidy { font-size: 26px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_title {
        font-size: 28px;
        padding-left: 40px;
    }
    .cart_window_door.plans-1 .item_cart .un_cartResult_item { font-size: 15px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_item_name span.num { font-size: 18px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_item_name span.txt span.name { font-size: 21px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_item_name span.txt span.text_note,
    .cart_window_door.plans-1 .item_cart .un_cartResult_item_name span.txt span.asterisk { font-size: 14px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_item_name span.txt span.opt { font-size: 15px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_item_price,
    .cart_window_door.plans-1 .item_cart .un_cartResult_item_price span.yen { font-size: 28px; }
    /* message standing in for the amount — a clear step below the 28px amount */
    .cart_window_door.plans-1 .item_cart .un_cartResult_item_price span.err,
    .cart_window_door.plans-1 .item_cart .un_cartResult_item_price span.err2 { font-size: 20px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_detail { 
        font-size: 20px;
        padding: 0px 25px 0px 25px;
    }
    .cart_window_door.plans-1 .item_cart .un_cartResult_detail .koumoku { font-size: 21px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_detail p.line span.price { font-size: 36px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_detail p.off { font-size: 30px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_detail p.off span { font-size: 25px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_detail p.line span.koumoku span.num span.core { font-size: 14px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_title-end { font-size: 17px; }
    .cart_window_door.plans-1 .item_cart .box_tree .un_cartResult_ttl--green1 { 
        font-size: 21px;
        height: 40px;
    }
    .cart_window_door.plans-1 .item_cart .box_tree .un_cartResult_ttl--green1 sub { font-size: 17px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_tree span.txt span.line { font-size: 20px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_tree span.txt span.num { font-size: 49px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_tree span.txt .super { font-size: 11px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_tree span.txt .sub { font-size: 17px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_itemDoor { font-size: 25px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_itemDoor .bg_label_typeDoor { font-size: 20px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_itemDoor .text_itemDetailDoor { font-size: 22px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_itemDoor .shape_labelDetailDoor { font-size: 22px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_itemDoor .total_subsidy { font-size: 28px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_itemDoor .icon-x { font-size: 31px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_itemDoor .area_labelTargetConstruction { font-size: 22px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_itemDoor .area_labelTargetConstruction span.asterisk { font-size: 20px; }
    .cart_window_door.plans-1 .item_cart .box_note_cart .note_selected_item { font-size: 22px; }
    /* Image width scale ~1.4x */
    .cart_window_door.plans-1 .item_cart .un_cartResult_itemDoor .img_door_result { max-width: 126px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_tree img { width: 56px; }
    /* Circle / num badges scale ~1.4x */
    .cart_window_door.plans-1 .item_cart .box_subsidy_amount .box_icon .circle { width: 45px; height: 45px; }

    .cart_window_door.plans-1 .item_cart .box_subsidy_amount .box_icon .circle .plumin:after, .box_subsidy_amount .box_icon .circle .plumin:before {
        height: 4px;
        width: 22px;
    }

    .cart_window_door.plans-1 .item_cart .un_cartResult_item_name span.num { width: 42px; height: 42px; border-radius: 21px; }
    .cart_window_door.plans-1 .item_cart .un_cartResult_detail p.line span.koumoku span.num span.core { width: 32px; height: 32px; }
}

/*  */
.box_text_subsidy .area_selected {
    font-size: 13px;
}

.box_text_subsidy .area_selected ul {
    display: flex;
    list-style-type: none;
    align-items: center;
    justify-content: flex-end;
}

.box_text_subsidy .area_selected ul li {
    position: relative;
}

.box_text_subsidy .area_selected ul li.area_text {
    margin-right: 35px;
}

.box_text_subsidy .area_selected ul li::before {
    content: '•';
    position: absolute;
    left: -17px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 35px;
    color: #E75400;
    top: 22%;
}
/*  */
.bl_cartResult_subsidy {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 15px;
}

.bl_cartResult_subsidy .text_total_amount {
    color: #000000;
}

.bl_cartResult_subsidy .bl_cartResult_subsidy--item.box_price {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.bl_cartResult_subsidy .bl_cartResult_subsidy--item .box_icon {
    display: block;
}

.bl_cartResult_subsidy .bl_cartResult_subsidy--item .bl_area_selected {
    font-size: 20px;
    width: 100%;
}

.bl_cartResult_subsidy .bl_cartResult_subsidy--item .bl_area_selected .icon_percent {
    background-color: #E75400;
    border-radius: 50px;
    color: #fff;
    text-align: center;
    width: 100px;
    float: right;
    padding: 4px 10px;
    margin-top: 4px;
    margin-right: 5px;
}

.bl_cartResult_subsidy .bl_cartResult_subsidy--item .bl_area_selected .icon_percent .text_percent {
    font-size: 25px;
}

.bl_cartResult_subsidy .area_selected_text {
    font-size: 17px;
    float: right;
    margin-top: 5px;
    clear: both;
}

.un_cartResult_subsidy .un_cartResult_subsidy--amount {
    font-size: 24px;
    color: #E75400;
    padding-right: 12px;
}

.un_cartResult_subsidy .un_cartResult_subsidy--amount .yen{
}

.un_cartResult_subsidy .un_cartResult_subsidy--amount .err,
.un_cartResult_subsidy .un_cartResult_subsidy--amount .err2 {
    font-size: 13px;
}

/* Message state — .err / .err2 shown INSTEAD of the amount (JS adds the class to
   the headline 補助金合計額 box and to the ①補助金額 price box).
   The message font is much smaller than the amount font, so with the default
   inline layout the parent's strut pushed the message to the bottom of the line
   box, several px below the label on the left of the same row.
   Laying the message out as a flex item centers it in the box, and the row is
   already align-items:center, so label and message share one middle line.
   min-height repeats the inherited line-height (html { line-height: 1.15 } in
   common.css) so the row keeps the height it has while the amount is showing.
   Applies to the PDF tree too — it reuses these classes with its own font sizes. */
.un_cartResult_subsidy .un_cartResult_subsidy--amount.is_amount_message,
.un_cartResult_item_price.is_amount_message {
    display: flex;
    align-items: center;
    min-height: 1.15em;
}

.un_cartResult_content .box_notice_cart {
    background: #ffdac7;
    font-size: 22.5px;
    padding: 10px 20px 10px 50px;
    border-radius: 30px;
    margin-top: 15px;
}

.un_cartResult_content .box_result_cart {
    margin-top: 25px;
    display: none;
    /* min-height: 620px; */
}

.un_cartResult_content .box_result_cart .text_subsidy {
    font-size: 16px;
    margin-bottom: 5px;
    color: #000000;
}

.un_cartResult_content .box_result_cart .un_cartResult_area {

}

.un_topAbout {
    line-height: 1;
    position: relative
}

.un_topAbout_ttl {
    cursor: pointer;
    font-size: 20px;
    padding: 12px 0 8px;
    text-align: center;
    transition: opacity .2s cubic-bezier(.25,.25,.75,.75);
    color: #000000;
}

.un_topAbout_ttl:hover {
    opacity: .8
}

.un_topAbout_ttl.open .plumin:after {
    display: none
}

.un_topAbout_ttl .plumin {
    background-color: #4d4d4d;
    border-radius: 19px;
    display: inline-block;
    height: 20px;
    margin-bottom: 2px;
    margin-left: 7px;
    position: relative;
    vertical-align: middle;
    width: 20px
}

.un_topAbout_ttl .plumin:before {
    transform: translate(-50%,-50%)
}

.un_topAbout_ttl .plumin:after,.un_topAbout_ttl .plumin:before {
    background-color: #fff;
    content: "";
    display: block;
    height: 2px;
    left: 50%;
    position: absolute;
    top: 50%;
    width: 12px;
    z-index: 0
}

.un_topAbout_ttl .plumin:after {
    transform: translate(-50%,-50%) rotate(90deg)
}

.un_topAbout_contWrap {
    display: none
}

.un_topAbout_cont {
    border-top: 1px solid #4d4d4d;
    font-size: 15px;
    line-height: 1.7;
    padding-bottom: 12px;
    padding-top: 12px
}

.un_topAbout_cont p {
    margin-bottom: 8px
}

.un_topAbout_cont p span.sub {
    font-size: 10px
}

.un_topAbout_cont ul {
    font-size: 11px;
    list-style: none;
    position: relative
}

.un_topAbout_cont ul li {
    margin-bottom: 3px;
    padding-left: 16px;
    position: relative
}

.un_topAbout_cont ul li:last-child {
    margin-bottom: 0
}

.un_topAbout_cont ul li:before {
    content: "※";
    display: block;
    left: 0;
    position: absolute;
    top: 0;
    z-index: 0
}

.btn_printdPdf{
    cursor: pointer;
    color: white !important;
}

#content.option_item .btn_printdPdf {
    background-color: #E75400 !important;
}

#content.option_item_mirai_eco .btn_printdPdf {
    background-color: #00C144 !important;
}

.box_subsidy_amount {
    
}

.box_subsidy_amount .un_cartResult_content.box_text {
    padding: 10px 10px 0px 10px !important;
}

.box_subsidy_amount .un_cartResult_content {
    padding: 0px 10px 16px 10px;
}

.box_subsidy_amount .box_icon .circle {
    width: 30px;
    height: 30px;
}

.box_subsidy_amount .box_icon .circle .plumin:after,
.box_subsidy_amount .box_icon .circle .plumin:before {
    height: 4px;
    width: 22px;
}

.m_w_cart_water {
    max-width: 995px !important;
}

/* start subsidy-window-hybrid */
.subsidy-window-hybrid {
    max-width: 995px;
    padding-left: 20px;
    padding-right: 20px;
    margin: 0 auto;
    background: #ffffff;
    color: #000;
    font-weight: 500;
}

.subsidy-window-hybrid__header {
    position: relative;
    min-height: 112px;
    padding: 18px 12% 14px 12px;
    background: repeating-linear-gradient(
        90deg,
        #67BCDD 0,
        #67BCDD 11px,
        #C0E2E5 11px,
        #C0E2E5 21px
    );
    color: #FFFF00;
    /* lift the yellow off the light-blue stripes so it reads clearly */
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
    box-sizing: border-box;
    text-align: center;
}

.subsidy-window-hybrid__title {
    font-size: 42px;
    line-height: 1.25;
}

.subsidy-window-hybrid__subtitle {
    margin-top: 2px;
    font-size: 35px;
    line-height: 1.25;
}

.subsidy-window-hybrid__person-img {
    position: absolute;
    right: 15px;
    top: -48px;
    width: 110px;
}

.subsidy-window-hybrid__intro {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 26px 60px 16px;
}

.subsidy-window-hybrid__intro-text {
    flex: 1;
    position: relative;
}

.subsidy-window-hybrid__intro-text p {
    margin: 0;
    font-size: 32px;
    line-height: 1.45;
}

.subsidy-window-hybrid__intro-text img {
    width: 180px;
    position: absolute;
    top: -28px;
    right: 0;
}

.subsidy-window-hybrid__intro-emphasis {
    margin-top: 14px !important;
    color: #e85a00;
    font-size: 42px !important;
    line-height: 1.25 !important;
}

.subsidy-window-hybrid__intro-illust img {
    width: 160px;
    display: block;
}

.subsidy-window-hybrid__trouble-box {
    position: relative;
    width: 88%;
    margin: 34px auto 18px;
    padding: 28px 0px 0px 0px;
    border: 4px solid #f9b800;
    border-radius: 18px;
    background: #ffffff;
    box-sizing: border-box;
}

.subsidy-window-hybrid__toggle {
    position: absolute;
    top: 8px;
    right: 10px;
    width: 46px;
    height: 46px;
    border: none;
    border-radius: 50%;
    background: #ffe39a;
    cursor: pointer;
}

.subsidy-window-hybrid__toggle::before,
.subsidy-window-hybrid__toggle::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 22px;
    height: 5px;
    background: #f5a900;
    transform: translate(-50%, -50%);
}

.subsidy-window-hybrid__toggle::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.subsidy-window-hybrid__toggle.open::after {
    display: none;
}

.subsidy-window-hybrid__detail {
    display: none; /* collapsed by default; JS slideToggle opens it on toggle click */
    background: #EFEFEF;
    padding: 0 30px 25px 30px;
    border-radius: 0 0 16px 16px;
}

.subsidy-window-hybrid__detail.is-hidden {
    display: none;
}

.subsidy-window-hybrid__trouble-title {
    position: absolute;
    top: -31px;
    left: 50%;
    transform: translateX(-50%);
    min-width: 280px;
    padding: 10px 18px;
    background: #f9b800;
    border-radius: 28px;
    color: #fff;
    font-size: 30px;
    text-align: center;
}

.subsidy-window-hybrid__trouble-content {
    display: flex;
    gap: 24px;
    align-items: flex-start;
}

.subsidy-window-hybrid__trouble-left {
    width: 40%;
    text-align: center;
}

.subsidy-window-hybrid__trouble-label {
    margin: 2px 0 12px;
    font-size: 28px;
}

.subsidy-window-hybrid__trouble-left img {
    width: 90px;
}

.subsidy-window-hybrid__trouble-list {
    flex: 1;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 26px;
    line-height: 1.45;
}

.subsidy-window-hybrid__solution {
    position: relative;
    padding: 20px 30px;
    background: #EFEFEF;
    box-sizing: border-box;
    border-radius: 0 0 16px 16px;
}

.subsidy-window-hybrid__toggle.open ~ .subsidy-window-hybrid__solution {
    border-radius: 0;
}

.subsidy-window-hybrid__solution p {
    margin: 0;
    color: #e85a00;
    font-size: 33px;
    line-height: 1.25;
}

.subsidy-window-hybrid__solution img {
    position: absolute;
    right: 0;
    top: -20px;
    width: 160px;
}

.subsidy-window-hybrid__recommend {
    width: 330px;
    margin: 0px auto 12px;
    padding: 4px 10px;
    background: #f9b800;
    border-radius: 60px;
    color: #fff;
    font-size: 30px;
    line-height: 1.15;
    text-align: center;
    border: 2px solid #fff;
}

.subsidy-window-hybrid__mix-text {
    margin: 0 0 14px;
    font-size: 30px;
    line-height: 1.35;
    text-align: center;
}

.subsidy-window-hybrid__window-plan {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.subsidy-window-hybrid__plan-card {
    display: flex;
    align-items: center;
    min-height: 84px;
    padding: 10px 12px;
    background: #f9b800;
    border: 2px solid #fff;
    border-radius: 10px;
    box-sizing: border-box;
}

.subsidy-window-hybrid__plan-name {
    width: 100px;
    color: #fff;
    font-size: 30px;
    text-align: center;
}

.subsidy-window-hybrid__plan-img {
    width: 110px;
    text-align: center;
}

.subsidy-window-hybrid__plan-img img {
    width: 95px;
    display: inline-block;
}

.subsidy-window-hybrid__plan-list {
    flex: 1;
    margin: 0;
    padding-left: 25px;
    font-size: 19px;
    line-height: 1.65;
}
/* end subsidy-window-hybrid */

.box_reform_catch {
    max-width: 995px;
    padding-left: 20px;
    padding-right: 20px;
    margin: 0 auto;
}

.box_reform_catch .reform-catch {
    background: repeating-linear-gradient(
        90deg,
        #67BCDD 0,
        #67BCDD 11px,
        #C0E2E5 11px,
        #C0E2E5 21px
    );
    color: #FFFF00;
    /* lift the yellow off the light-blue stripes so it reads clearly */
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

#content.option_item_mirai_eco .box_reform_catch .reform-catch {
    background: repeating-linear-gradient(
        90deg,
        #6EB92C 0,
        #6EB92C 8px,
        #9CC813 8px,
        #9CC813 16px
    );
}

.box_reform_catch .reform-title {
    font-size: 49px;
    text-align: center;
    padding: 18px 0 6px 0;
}

.box_reform_catch .reform-subtitle {
    text-align: center;
    font-size: 42px;
    padding: 6px 6px 14px 6px;
}

.box_health_safety .text-features {
    font-size: 70px;
    line-height: 55px;
    font-weight: bold;
    color: #FF9900;
    display: flex;
    justify-content: center;
}

.box_health_safety .text-features span {
    font-size: 127px;
    margin-bottom: 20px;
    margin-right: 10px;
}

.box_health_safety .feature_item:nth-child(1) {
    margin-top: 40px;
}

.box_health_safety .feature_item {
    border: 4px solid #FFC000;
    background: #ffffff;
    border-radius: 14px;
    position: relative;
    margin-top: 62px;
}

.box_health_safety .feature_item.item_1 {
    margin-top: 46px;
}

.box_health_safety .feature_item .label {
    width: 346px;
    height: 69px;
    background: #FFC000;
    border: 3px solid #ffffff;
    border-radius: 35px;
    position: absolute;
    left: 26%;
    top: -30px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 32px;
    color: #000000;
}

.box_health_safety .feature_item .label span {
    font-size: 55px;
    font-weight: 700;
    margin-left: 6px;
    margin-bottom: 15px;
}

.box_health_safety .feature_item .img_icon img {
    width: 199px;
    position: absolute;
    right: -45px;
    top: -62px;
}

.box_health_safety .feature_item.item_3 .img_icon img {
    width: 85px;
    position: absolute;
    right: 8px;
    top: -45px;
}

.box_health_safety .feature_item .empty_space {
    width: 100%;
    height: 64px;
}

.box_health_safety .feature_item .content {
    padding: 8px 25px 15px 25px;
    display: flex;
    justify-content: space-between;
}

.box_health_safety .feature_item .content .box_text {
    padding-right: 16px;
}

.box_health_safety .feature_item .content .box_text .title {
    font-size: 32px;
    color: #000000;
}

.box_health_safety .feature_item .content .box_text .des {
    font-size: 40px;
    color: #FFC000;
}

.box_health_safety .feature_item .img {
    padding-top: 6px;
    border-top: 1px solid #FFC000;
    display: none;
}

.box_health_safety .feature_item .img img {
    border-radius: 14px;
}

/* Start box_energy_saving */
.box_energy_saving {

}

.box_energy_saving .container {
    background: #ffffff;
}

.box_energy_saving_title {
    max-width: 995px;
    padding-left: 20px;
    padding-right: 20px;
    margin: 0 auto;
}

.box_energy_saving_title .title {
    margin-top: 50px;
    font-size: 45px;
    text-align: center;
    background: #CFE2F3;
    color: #000000;
    padding: 33px 10px;
    letter-spacing: -2px;
}

#content.option_item_mirai_eco .box_energy_saving_title .title {
    background: #CEED82;
}

.box_energy_saving .des {
    text-align: center;
    font-size: 27px;
    color: #E75400;
    font-weight: bold;
    padding: 20px 10px;
}

.box_energy_saving .list_benefit {
    display: flex;
    justify-content: center;
    gap: 6px;
    padding: 0px 38px;
}

.box_energy_saving .list_benefit .benefit_item {
    width: 240px;
    height: 70px;
    font-size: 32px;
    background: #FFC000;
    color: #000000;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
}

.box_energy_saving .list_option {
    display: flex;
    justify-content: center;
    padding-top: 20px;
}

.box_energy_saving .list_option .option_item {
    width: 44%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    background: #E3E0D1;
    border-radius: 16px;
    padding-top: 15px;
}

.box_energy_saving .list_option .option_item:first-child {
    margin-right: 12px;
}

.box_energy_saving .list_option .option_item:last-child {
    margin-left: 12px;
}

.box_energy_saving .list_option .option_item .option_item-title {
    font-size: 27px;
    color: #000000;
    padding-bottom: 15px;
    text-align: center;
}

.box_energy_saving .list_option .option_item .image:last-child {
    margin-top: -20px;
}

.box_energy_saving .text_subsidy {
    text-align: center;
    font-size: 27px;
    color: #000000;
    padding: 23px 20px 35px 20px;
    font-weight: 400;
}
/* End box_energy_saving */

.un_cartResultInner {
    display: flex;
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
    /*max-width: 850px;*/
    max-width: 995px;
    padding-left: 20px;
    padding-right: 20px
}
.un_cartResultInner {
    justify-content: center;
}

@media screen and (max-width: 767px) {
    .un_cartResultInner {
        box-sizing:border-box;
        display: block;
        max-width: 375px;
        width: auto;
        padding-left: 0px;
        padding-right: 0px;
    }
}

.un_cartResult--result {
    width: 88%;
}

.un_cartResult--result:nth-child(2) {
    width: 48.2%
}

@media screen and (max-width: 767px) {
    .un_cartResult--result:nth-child(2) {
        width:auto
    }

    .un_cartResult--result {
        /* margin-bottom: 40px; */
        width: auto
    }
}

.un_cartResult--effect {
    /*margin-bottom: 10px;*/
    /*margin-top: 24px*/
}

@media screen and (max-width: 767px) {
    .un_cartResult--effect {
       
    }
}

.un_cartResult--effect .un_cartResult_content {
    margin-bottom: 25px;
    width: 345px
}

.un_cartResult_ttlPrev {
    color: #1ca283;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 11px;
    text-align: center
}

.un_cartResult_ttlPrev--blue {
    color: #0e94d8
}

.bl_cartResult_ttl {
    width: 580px;
    margin: auto;
}

.bl_cartResult_ttl .un_cartResult_btn--yellow {
    border: none;
    min-height: 50px;
    font-size: 23px;
}

@media screen and (max-width: 767px) {
    .bl_cartResult_ttl {
        width: 85%;
    }
    .bl_cartResult_ttl .un_cartResult_btn--yellow {
        width: 100%;
        font-size: 20px;
    }
}

.un_cartResult_btnBack {
    width: 99%;
    height: 54px;
    font-size: 25px;
    font-weight: 500;
    align-items: center;
    background-color: #FFC000;
    border-radius: 6px;
    color: #000;
    cursor: pointer;
    display: flex;
    justify-content: center;
    line-height: 1.7;
    margin-left: auto;
    margin-right: 0;
    margin-top: 4px;
    margin-bottom: 7px;
    border: 3px solid #E75400;
}

.un_cartResult_btnBack.cross {
    width: 33%;
}

.un_cartResult_btn, .un_cartResult_ttl {
    align-items: center;
    border-radius: 50px;
    display: flex;
    font-size: 35px;
    font-weight: 500;
    height: 60px;
    justify-content: center;
    margin-bottom: 6px;
    margin-left: auto;
    margin-right: auto;
    max-width: 580px;
    position: relative;
    width: 100%;
    z-index: 1;
}

#content.option_item .un_cartResult_ttl {
    background-color: #E75400;
    color: #fff;
}

#content.option_item_mirai_eco .un_cartResult_ttl {
    background-color: #08BF48;
    color: #fff;
}

.un_cartResult_ttl--none {
    font-size: 20px;
    margin-bottom: 31px
}

.un_cartResult_ttl--orange {
    background-color: #E75400;
    color: #fff
}

.un_cartResult_ttl--green1 {
    background-color: #89BD28;
    color: #fff
}

.un_cartResult_ttl--red {
    background-color: #e7541c;
    color: #fff;
    margin-top: -30px;
    max-width: 100%;
    width: 66.5%
}

@media screen and (max-width: 767px) {
    .un_cartResult_ttl--red {
        max-width:256px;
        width: 100%
    }
}

.un_cartResult_ttl--green2 {
    background-color: #009f44;
    color: #fff;
    margin-top: -30px;
    max-width: 100%;
    width: 66.5%
}

@media screen and (max-width: 767px) {
    .un_cartResult_ttl--green2 {
        max-width:256px;
        width: 100%
    }
}

.un_cartResult_ttl--blue {
    background-color: #0e94d8
}

.un_cartResult_ttl--v2 {
    margin-bottom: 0
}

.un_cartResult_ttl span,.un_cartResult_ttl sub {
    font-size: 23px;
    line-height: 1
}

.un_cartResult_exp {
    font-size: 11px;
    margin-bottom: 10px;
    text-align: center
}

.un_cartResult_exp,.un_cartResult_tabs {
    margin-left: auto;
    margin-right: auto;
    max-width: 345px
}

.un_cartResult_tabs {
    display: flex;
    justify-content: space-between
}

.un_cartResult_tab,.un_cartResult_tabs--room {
    justify-content: center
}

.un_cartResult_tab {
    align-items: center;
    background-color: #acacac;
    border-radius: 6px 6px 0 0;
    box-sizing: border-box;
    color: #fff;
    cursor: pointer;
    display: flex;
    font-size: 15px;
    font-weight: 700;
    height: 38px;
    padding-top: 3px;
    text-align: center;
    width: 169px
}

.un_cartResult_tab.active {
    background-color: #fff;
    color: #4d4d4d;
    font-size: 16px;
    height: 41px;
    position: relative
}

.un_cartResult_tab.active:after {
    background-color: #bababa;
    bottom: 0;
    content: "";
    display: block;
    height: 1px;
    left: 50%;
    position: absolute;
    transform: translate(-50%);
    width: 90%;
    z-index: 0
}

/* 補助金の効果 heading (cart + PDF) — black instead of the inherited grey */
.un_cartResult_title {
    font-size: 20px;
    padding: 10px 10px 10px 10px;
    color: #000000;
}

.un_cartResult_title--orange {
    font-size: 22px;
    text-align: center;
    background: #e75400;
    color: #ffffff;
    padding-top: 2px;
    height: 34px;
    border-radius: 6px 6px 0 0;
}

.un_cartResult_content {
    border-radius: 3px 3px;
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    padding: 4px 10px 10px 10px;
    width: 100%
}

@media screen and (max-width: 767px) {
    .un_cartResult_content,
    .box_subsidy_amount .un_cartResult_content.box_text {
        padding-right: 10px !important;
        padding-left: 10px !important;
    }
}

.un_cartResult_content--v2 {

}

.un_cartResult_content.brbrm {
    border-radius: 6px 6px 0 0
}

.un_cartResult_content--replus {
    border-radius: 0 0 6px 6px
}

.un_cartResult_itemWrap {
    border-bottom: 2px solid #4d4d4d;
    margin-bottom: 8px;
    padding-bottom: 12px
}

.un_cartResult_item {
    align-items: center;
    display: flex;
    font-size: 11px;
    justify-content: space-between;
    margin-top: 6px
}

.un_cartResult_item:first-child {
    color: #e7541c
}

.un_cartResult_item:first-child .un_cartResult_item_name span.num {
    background-color: #e7541c
}

.un_cartResult_item:first-child {
    margin-top: 0
}

.un_cartResult_item--green:first-child {
    color: #009f44
}

.un_cartResult_item--green:first-child .un_cartResult_item_name span.num {
    background-color: #009f44
}

.un_cartResult_item_name {
    align-items: center;
    display: flex;
    justify-content: flex-start
}

.un_cartResult_item_name span.num {
    align-items: center;
    background-color: #4d4d4d;
    border-radius: 22px;
    color: #fff;
    display: flex;
    font-size: 13px;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.un_cartResult_item_name span.txt {
    flex: 1 1;
    padding-left: 4px
}

.un_cartResult_item_name span.txt span.name {
    font-size: 15px;
    margin-left: 16px;
}

.un_cartResult_item_name span.txt span.text_note {
    font-size: 10px;
}

.un_cartResult_item_name span.txt span.asterisk {
    font-size: 10px;
}

.un_cartResult_item_name span.txt span.asterisk.first {
    vertical-align: top;
}

/* .un_cartResult_item_name span.txt span.name span {
    font-size: 16px;
} */

.un_cartResult_item_name span.txt span.opt {
    font-size: 11px;
    line-height: 1.4
}

.un_cartResult_item_name span.txt span.opt span.type-b {
    display: none
}

.un_cartResult_item_price {
    font-size: 16px
}

.un_cartResult_item_price span.yen {
    display: inline-block;
    font-size: 16px;
    padding-left: 3px
}

.un_cartResult_item_price span.err {
    color: red;
    display: none;
    font-size: 14px
}

.un_cartResult_item_price span.err span.super {
    display: inline-block;
    margin-left: -1px
}

.un_cartResult_item_price span.err2 {
    color: red;
    display: none;
    font-size: 14px;
}

.un_cartResult_sumBtn {
    align-items: center;
    border: 2px solid #e7541c;
    border-radius: 6px;
    box-shadow: 0 0 6px 0 rgba(0,0,0,.16);
    box-sizing: border-box;
    cursor: pointer;
    display: flex;
    height: 64px;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    opacity: .25;
    text-align: center;
    transition: opacity .2s cubic-bezier(.25,.25,.75,.75);
    transition: all .1s cubic-bezier(.25,.25,.75,.75);
    width: 68.73%
}

.un_cartResult_sumBtn.active {
    opacity: 1
}

.un_cartResult_sumBtn:hover {
    background-color: #e7541c
}

.un_cartResult_sumBtn:hover span {
    color: #fff
}

.un_cartResult_sumBtn span {
    color: #e7541c;
    font-size: 20px;
    font-weight: 700
}

.un_cartResult_detail {
    display: none;
    font-size: 14px;
    padding-top: 2px
}

.un_cartResult_detail p.line {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 7px
}

.un_cartResult_detail p.line span.koumoku span.num {
    display: inline-block;
    padding-bottom: 2px;
    vertical-align: middle
}

.un_cartResult_detail p.line span.koumoku span.num span.core {
    align-items: center;
    background-color: #4d4d4d;
    border-radius: 50%;
    color: #fff;
    display: flex;
    font-size: 10px;
    height: 23px;
    justify-content: center;
    margin-left: 3px;
    margin-right: 3px;
    width: 23px;
}

.un_cartResult_detail p.line span.koumoku span.num span.core.org {
    background-color: #e7541c
}
.un_cartResult_detail p.line span.koumoku span.num span.core.green {
    background-color: #009f44
}

.un_cartResult_detail p.line span.price {
    color: #e7541c;
    font-size: 23px;
}

.un_cartResult_detail p.line span.price span.num {
    letter-spacing: -.025em;
    margin-right: 2px
}

.un_cartResult_detail p.line span.price--green {
    color: #009f44
}

.un_cartResult_detail p.off {
    color: #e7541c;
    font-size: 20px;
    text-align: right;
    margin-right: -10px;
}

.un_cartResult_detail p.off span {
    font-size: 18px
}

.un_cartResult_detail p.off--green {
    color: #009f44
}

.un_cartResult_detail .koumoku {
    font-size: 15px;
}

.un_cartResult_detail .koumoku .sp-only {
    display: none;
}

.box_tree .un_cartResult_ttl--green1 {
    font-size: 15px;
    width: 65%;
    height: 30px;
    background: #89BD28 !important
}

.box_tree .un_cartResult_ttl--green1 sub {
    font-size: 11px;
    bottom: -0.19em;
}

.un_cartResult_tree {
    align-items: end;
    color: #00B050;
    display: flex;
    justify-content: center;
    text-align: center;
}

.un_cartResult_tree img {
    vertical-align: middle;
    width: 40px;
}

.un_cartResult_tree .icon_medical {
    width: 55px;
}

.un_cartResult_tree span.txt {
    line-height: 1;
    padding-top: 0;
    padding-right: 6px;
    vertical-align: middle
}

/* CO2 block: the frog illustration that used to sit on the right was removed,
   so drop the gap that separated them — the tree + text pair must read as
   horizontally centred. */
.box_tree .un_cartResult_tree span.txt {
    padding-right: 0;
}

.un_cartResult_tree span.txt span.line {
    display: block;
    margin-bottom: 9px;
    font-size: 14px;
}

.un_cartResult_tree span.txt span.line:last-child {
    margin-bottom: 0
}

/* Keep "本分に相当" together so a 4-digit tree count (large orders) wraps as a
   whole unit onto the next line instead of orphaning the last character. */
.un_cartResult_tree span.txt span.line .co2_suffix {
    white-space: nowrap;
}

.un_cartResult_tree span.txt span.num {
    display: inline-block;
    font-size: 35px;
    vertical-align: bottom;
}

.un_cartResult_tree span.txt span.line-d {

}

.un_cartResult_tree span.txt .super {
    font-size: 8px;
    vertical-align: super
}

.un_cartResult_tree span.txt .sub {
    font-size: 12px
}

#cart-download_water_area .un_cartResult_tree {
    padding: 10px 10px;
}

#cart-download_water_area .un_cartResult_tree .btn_printdPdf {
    margin-left: 14%;
    margin-top: 3%;
}

#cart-download_water_area .un_cartResult_tree .icon_medical {
    width: 14%;
}

.un_cartResultWrap {
    margin-bottom: 20px;
    position: relative
}
/* Start cart */
@media screen and (max-width: 491px) {
    #cart .bl_ttl_inner {
        height: 135px;
    }
}
#cart .bl_ttl {
    margin-bottom: 30px;
}
.block_center {
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
}
.un_cartNav_nextBtn, .un_hitoyaInsulationNav_nextBtn {
    margin-bottom: 50px;
}

.un_cartResult_detail {
    display: block;
}

.un_cartResult_title-end {
    text-align: left;
    margin-bottom: 10px;
    font-size: 12px;
}

.un_cartResult_item_name span.no_num {
    align-items: center;
    background-color: #4d4d4d;
    border-radius: 22px;
    color: #fff;
    display: flex;
    font-size: 14px;
    height: 22px;
    justify-content: center;
    line-height: 1;
    width: 22px
}
.un_cartResult_itemDoor {
    margin-bottom: 2px;
    font-size: 18px;
}
.un_cartResult--link {
    width: auto;
}

.un_cartResult_itemDoor .img_door_result {
    max-width: 90px;
    height: auto;
}
.un_cartResult_itemDoor .bg_label_typeDoor {
    background-color: #FFDBC7;
    padding: 5px 12px 0px 14px;
    min-height: 23px;
    line-height: 23px;
    font-size: 14px;
}
.un_cartResult_itemDoor .text_itemDetailDoor {
    font-size: 16px;
    margin-bottom: 2px;
}
.un_cartResult_itemDoor .shape_labelDetailDoor {
    width: 84%;
    background-color: #81cbfb;
    color: #ffffff;
    padding: 10px 0px 10px 18px;
    font-size: 16px;
    display: flex;
    align-items: center;
    min-height: 60px;
    box-sizing: border-box;
    position: relative;
}

.un_cartResult_itemDoor .shape_labelDetailDoor.bg-green {
    background-color: #3DBD78;
}

.un_cartResult_itemDoor .shape_labelDetailDoor::after{
    content: '';
    position: absolute;
    top: 0;
    right: -21px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 0 30px 21px;
    border-color: transparent transparent transparent #81cbfb;
}

.un_cartResult_itemDoor .shape_labelDetailDoor.bg-green::after{
    border-color: transparent transparent transparent #3DBD78;
}

.un_cartResult_itemDoor .total_subsidy {
    font-size: 20px;
}

.un_cartResult_itemDoor .icon-x {
    font-size: 22px;
}

/* ---- two-program subsidy layout (先進的窓リノベ事業 + クール・ネット東京) ----
   Shared base (cart + PDF). Cart-only refinements live in the `#cart` section
   below — the PDF keeps this base until the cart design is approved and
   applied to the PDF as a separate step. */
/* Square corners per the client capture; the top/bottom padding is kept EQUAL so
   the label sits on the vertical centre of the band (it used to be 6/4). */
.un_cartResult_itemDoor .two_programs_header {
    border-radius: 0;
    padding: 5px 10px;
    font-size: 15px;
    line-height: 1.5;
    color: #333333;
}
.un_cartResult_itemDoor .two_programs_header > div {
    display: inline-block;
    margin-right: 12px;
}
.un_cartResult_itemDoor .two_programs_header .label_target_construction_1 {
    font-weight: bold;
}
.two_programs_header.header-yellow { background: #FFF2CC; }
.two_programs_header.header-pink   { background: #EA9999; }
.two_programs_header.header-red    { background: #CC0000; color: #ffffff; }
.two_programs_header.header-blue   { background: #CFE2F3; }

/* image and plus line up with the program header row */
.un_cartResult_itemDoor .row_two_programs {
    align-items: flex-start;
}
.un_cartResult_itemDoor .col_program_img {
    flex: 0 0 84px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.un_cartResult_itemDoor .col_program_img .img_door_result {
    max-width: 64px;
}
.un_cartResult_itemDoor .box_two_programs {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: stretch;
    gap: 4px;
}
/* box body stays white (no border) — only the header bar is colored, per design */
.un_cartResult_itemDoor .box_program {
    flex: 1 1 0;
    min-width: 0;
}
.un_cartResult_itemDoor .box_program.program_window .program_header {
    background: #A4C2F4;
}
.un_cartResult_itemDoor .box_program.program_tokyo .program_header {
    background: #D9EAD3;
}
.un_cartResult_itemDoor .box_program .program_header {
    font-size: 13px;
    text-align: center;
    padding: 4px 2px;
    color: #333333;
    white-space: nowrap;
    border-radius: 0;
}
.un_cartResult_itemDoor .box_program .program_rows {
    padding: 4px 10px 6px;
}
/* row: size label left, "price x qty" pushed right */
.un_cartResult_itemDoor .box_program .text_itemDetailDoor {
    font-size: 14px;
    margin-bottom: 2px;
    padding-left: 0;
    white-space: nowrap;
    display: flex;
    align-items: baseline;
}
.un_cartResult_itemDoor .box_program .label_product_price,
.un_cartResult_itemDoor .box_program .label_product_price_tokyo {
    margin-left: auto;
}
.un_cartResult_itemDoor .box_program .icon-x {
    font-size: 15px;
    padding: 0 1px;
}
.un_cartResult_itemDoor .box_program_plus {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #E75400;
    font-size: 27px;
    font-weight: bold;
}

/* per-program sub-lines under ①補助金額 */
.un_cartResult_subPrograms {
    padding: 0px 0 0px 67px;
}
.un_cartResult_subPrograms .sub_program_line {
    display: flex;
    align-items: center;
    font-size: 15px;
    margin-bottom: 3px;
}
.un_cartResult_subPrograms .sub_program_tri {
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 9px solid #6D9EEB;
    margin-right: 6px;
    flex: 0 0 auto;
}
.un_cartResult_subPrograms .sub_program_line.program_tokyo .sub_program_tri {
    border-left-color: #6AA84F;
}
.un_cartResult_subPrograms .sub_program_name {
    flex: 1 1 auto;
}
/* The value cell carries the AMOUNT font, which is a few px larger than the
   message that replaces it (基準に達していません). Left inline, the message sat on
   the baseline of that larger strut and read 2-3px lower than the program name
   across every breakpoint — centering it as a flex item lines the two up. */
.un_cartResult_subPrograms .sub_program_val {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    text-align: right;
    white-space: nowrap;
}
.un_cartResult_subPrograms .sub_program_error {
    color: #4d4d4d;
    font-size: 13px;
}

/* Warning under the top total (LOW state only) — black, bold and spaced away
   from the amount, as in tokyo_old (it used to be small red text here). */
.box_subsidy_message .warning_message {
    color: #000000;
    font-weight: 600;
    font-size: 19px;
    padding: 15px 10px 10px;
}
.color_ora {
    color: #E75400;
}

/* tokyo plan_selected header: 窓の補助金額 on blue (matches the new cart design) */
.cart_window_door .item_cart.plan_selected {
    border-color: #3C78D8;
}
.cart_window_door .item_cart.plan_selected .section_item_cart .section_title {
    background: #3C78D8;
}
.cart_window_door .item_cart.plan_selected .divider_horizontal {
    background: #3C78D8;
}
.cart_window_door .un_cartResult_ttl--green1 {
    text-align: center;
}
/* cart shows the detail without the 補助金詳細 label (PDF keeps it) */
#cart .cart_window_door .box_result_cart .text_subsidy {
    display: none;
}
/* the shade note sits right-aligned above 差額 */
.cart_window_door .item_cart .un_cartResult_title-end {
    text-align: right;
}
/* keep "(メーカー希望小売価格)※２" together — no orphan ※ wrap */
.cart_window_door .un_cartResult_item_name .text_note {
    display: inline-block;
    white-space: nowrap;
}
/* keep the amount + 円 on one line on narrow screens; when the row is too
   tight the whole amount wraps to its own right-aligned line (no clipping) */
@media screen and (max-width: 767px) {
    .cart_window_door .un_cartResult_item {
        flex-wrap: wrap;
    }
    .cart_window_door .un_cartResult_item_price {
        white-space: nowrap;
        margin-left: auto;
    }
}
/* plans-1 has a single column — the small-tablet equal-height floor is unnecessary */
@media screen and (min-width: 768px) and (max-width: 912px) {
    .cart_window_door.plans-1 .item_cart .box_result_cart {
        min-height: 0;
    }
}

/* ---- cart-only refinements (PDF keeps the shared base until the cart design
   is approved; then these get applied to the PDF as a separate step) ---- */
/* Fix the slideToggle jitter on the 補助金詳細 box.
   Root cause = margin collapsing. Child margins inside `.box_result_cart` collapse
   through it while it renders normally (overflow:visible), but slideToggle sets
   overflow:hidden during the animation → that turns the box into a block formatting
   context → the margins stop collapsing and are counted inside → the box measures a
   few px taller mid-slide and snaps back at the end.
   Two-part fix, both cart-only (PDF keeps the shared base):
   1. `overflow: hidden` makes the box a BFC permanently, so its content margins are
      contained in BOTH the settled and animating states → the measured height matches
      the final height → zero snap. (Nothing overflows the box, so it never clips.)
   2. the 22px inter-group gap uses the adjacent-sibling combinator so the FIRST group
      keeps no top margin — the box then has no extra top gap now that margins are
      contained, and the look is unchanged (first group flush, 3 gaps of 22px). */
#cart .box_result_cart {
    overflow: hidden;
}
#cart .un_cartResult_itemDoor > * + * {
    margin-top: 22px;
}
#cart .un_cartResult_itemDoor .two_programs_header > div {
    margin-right: 18px;
}
#cart .un_cartResult_itemDoor .two_programs_header .label_target_construction_1 {
    margin-right: 26px;
}
#cart .un_cartResult_itemDoor .two_programs_header .label_target_construction_2 {
    margin-right: 26px;
}
#cart .un_cartResult_itemDoor .box_program .program_header {
    padding: 7px 4px;
}
#cart .un_cartResult_subPrograms .sub_program_error {
    font-size: 14px;
}

@media screen and (min-width: 768px) {
    /* single plan column at 88% */
    #cart .cart_window_door .item_cart.plan_selected {
        width: 88%;
    }
    /* the amount sits right after 補助金合計額; the toggle stays far right */
    #cart .cart_window_door .item_cart .bl_cartResult_subsidy .bl_cartResult_subsidy--item.box_price {
        flex: 1 1 auto;
        justify-content: flex-start;
    }
    #cart .cart_window_door .item_cart .bl_cartResult_subsidy .box_price .box_icon {
        margin-left: auto;
    }
    /* balanced desktop type scale (beats the generic plans-1 22px/31px rules) */
    #cart .cart_window_door .item_cart .un_cartResult_itemDoor .two_programs_header {
        font-size: 18px;
        padding: 6px 14px 8px;
    }
    #cart .cart_window_door .item_cart .un_cartResult_itemDoor .box_program .program_header {
        font-size: 16px;
        height: 36px;
        line-height: 36px;
        padding: 0 8px;
    }
    #cart .cart_window_door .item_cart .un_cartResult_itemDoor .box_program .text_itemDetailDoor {
        font-size: 18px;
    }
    #cart .cart_window_door .item_cart .un_cartResult_itemDoor .box_program .icon-x {
        font-size: 18px;
    }
    /* gap above the image + program-boxes row (overrides the mt-2 utility) */
    #cart .cart_window_door .item_cart .un_cartResult_itemDoor .row_two_programs {
        margin-top: 10px;
    }
    /* item image, top-aligned with the headers, clear of the boxes */
    #cart .cart_window_door .item_cart .un_cartResult_itemDoor .col_program_img .img_door_result {
        max-width: 90px;
    }
    #cart .cart_window_door .item_cart .un_cartResult_itemDoor .col_program_img {
        flex: 0 0 135px;
        margin-right: 12px;
    }
    /* narrower program boxes → wider breathing room around the plus */
    #cart .cart_window_door .item_cart .un_cartResult_itemDoor .box_two_programs {
        gap: 0;
        justify-content: space-between;
    }
    #cart .cart_window_door .item_cart .un_cartResult_itemDoor .box_program {
        flex: 0 1 44%;
    }
    /* The plus centers on the program-header line (36px = header height).
       The ＋ glyph sits entirely above the baseline, and the font puts the
       baseline low in the line box, so the glyph lands ~0.14em below the middle
       of its box — nudge it back up by that amount (scales with font-size). */
    #cart .cart_window_door .item_cart .un_cartResult_itemDoor .box_program_plus {
        height: 36px;
        font-size: 32px;
        position: relative;
        top: -0.14em;
    }
    /* sub-program lines sized to match the ①②③ rows */
    #cart .cart_window_door .item_cart .un_cartResult_subPrograms .sub_program_line {
        font-size: 17px;
    }
    #cart .cart_window_door .item_cart .un_cartResult_subPrograms .sub_program_name {
        font-size: 18px;
    }
    #cart .cart_window_door .item_cart .un_cartResult_subPrograms .sub_program_val {
        font-size: 24px;
    }
    /* message standing in for the amount — read at the program-name size so it
       stays legible next to the 24px amounts (cart only, the PDF keeps its own) */
    #cart .cart_window_door .item_cart .un_cartResult_subPrograms .sub_program_error {
        font-size: 18px;
    }
    #cart .cart_window_door .item_cart .un_cartResult_subPrograms .sub_program_tri {
        border-top-width: 7px;
        border-bottom-width: 7px;
        border-left-width: 10px;
    }
    /* ①②③ number circles */
    #cart .cart_window_door .item_cart .un_cartResult_item_name span.num {
        width: 40px;
        height: 40px;
        border-radius: 20px;
    }
}

/* Portrait tablets (iPad mini/Air/Pro ~768–834) up through small landscapes.
   The wide-desktop door layout (135px image column + 90px image + 18px box
   fonts + 40px content padding) is too wide here: the two program boxes overflow
   and get clipped by box_result_cart's overflow:hidden. Reclaim horizontal space
   (near-full plan, smaller content padding) and scale the door blocks down so
   both boxes fit side by side. >=1024 keeps the desktop layout (it fits). These
   rules follow the min-width:768 block so they win on source order. */
@media screen and (min-width: 768px) and (max-width: 1023px) {
    /* near-full-width plan + trimmed content padding = wider usable area */
    #cart .cart_window_door .item_cart.plan_selected {
        width: 96%;
    }
    #cart .cart_window_door.plans-1 .item_cart .un_cartResult_content {
        padding: 4px 16px 16px 16px;
    }
    /* smaller image + narrower image column */
    #cart .cart_window_door .item_cart .un_cartResult_itemDoor .col_program_img {
        flex: 0 0 100px;
        margin-right: 10px;
    }
    #cart .cart_window_door .item_cart .un_cartResult_itemDoor .col_program_img .img_door_result {
        max-width: 75px;
    }
    /* compact door type scale so both program boxes fit */
    #cart .cart_window_door .item_cart .un_cartResult_itemDoor .two_programs_header {
        font-size: 15px;
        padding: 5px 10px 6px;
    }
    #cart .box_subsidy_message .warning_message {
        font-size: 18px;
    }
    #cart .cart_window_door .item_cart .un_cartResult_itemDoor .box_program {
        flex: 0 1 46%;
    }
    #cart .cart_window_door .item_cart .un_cartResult_itemDoor .box_program .program_header {
        font-size: 13px;
        height: 30px;
        line-height: 30px;
        padding: 0 6px;
    }
    #cart .cart_window_door .item_cart .un_cartResult_itemDoor .box_program .text_itemDetailDoor {
        font-size: 14px;
    }
    #cart .cart_window_door .item_cart .un_cartResult_itemDoor .box_program .icon-x {
        font-size: 14px;
    }
    #cart .cart_window_door .item_cart .un_cartResult_itemDoor .box_program_plus {
        height: 30px;
        font-size: 27px;
    }
    /* smaller left indent for the sub-program lines on portrait tablets */
    #cart .cart_window_door .item_cart .un_cartResult_subPrograms {
        padding: 0px 0 0px 55px;
    }
}

@media screen and (max-width: 767px) {
    /* image vertically centered against the two stacked boxes */
    #cart .un_cartResult_itemDoor .row_two_programs {
        align-items: center;
        margin-top: 10px;
    }
    /* the plus sits visually centered between the two boxes
       (the upper box ends with 6px rows padding → compensate below) */
    #cart .un_cartResult_itemDoor .box_program_plus {
        padding: 0;
        margin: 6px 0 12px;
    }
    /* band labels stack vertically: tc1 → tc2 → tc3 */
    #cart .un_cartResult_itemDoor .two_programs_header > div {
        display: block;
        margin-right: 0;
    }
    #cart .un_cartResult_itemDoor .two_programs_header .label_target_construction_1,
    #cart .un_cartResult_itemDoor .two_programs_header .label_target_construction_2 {
        margin-right: 0;
    }
}

@media screen and (max-width: 767px) {
    .box_subsidy_message .warning_message {
        font-size: 16px;
    }
    .un_cartResult_itemDoor .box_two_programs {
        flex-direction: column;
        gap: 0;
    }
    .un_cartResult_itemDoor .box_program_plus {
        padding: 2px 0;
    }
    .un_cartResult_itemDoor .col_program_img {
        flex: 0 0 105px;
    }
    .un_cartResult_itemDoor .col_program_img .img_door_result {
        max-width: 90px;
        margin-right: 15px;
    }
    /* band labels stay a step above the row text (14px) on phones */
    .un_cartResult_itemDoor .two_programs_header {
        font-size: 15px;
    }
    .un_cartResult_subPrograms {
        padding-left: 12px;
    }
    .un_cartResult_subPrograms .sub_program_line {
        font-size: 13px;
    }
    .un_cartResult_subPrograms .sub_program_name {
        font-size: 14px;
    }
    .un_cartResult_subPrograms .sub_program_val {
        font-size: 19px;
    }
}
#item .area_img_explain {
    color: #4d4d4d;
    cursor: pointer;
}
#item .area_img_explain img {
    max-height: 88px;
}
.un_cartResult_itemDoor .area_labelTargetConstruction {
    font-size: 16px;
    margin-bottom: 7px;
}

.un_cartResult_itemDoor .area_labelTargetConstruction span.asterisk {
    font-size: 14px;
    margin-left: 2px;
}

.un_cartResult_itemDoor .area_labelTargetConstruction .label_target_construction_1{
    margin-bottom: 5px;
}

.un_cartResult_itemDoor .area_labelTargetConstruction .label_target_construction_3{
    padding-bottom: 5px;
}

.box_note_cart .note_selected_item {
    padding: 16px 0 16px 16px;
    font-size: 16px;
    color: red;
}

.un_cartResult--effect .un_cartResult_content {
    width: auto;
}
.triangle-black-down {
    position: relative;
    top: 0;
    left: -5px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 13px solid #000000;
}
.triangle-black-down-large {
    position: relative;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 19px solid white;
}
.un_cartResultAge {
    display: none;
    margin-left: auto;
    margin-right: auto;
    max-width: 948px;
    padding-left: 20px;
    padding-right: 20px;
}
.un_cartResult_btn.active, .un_cartResult_btn:hover {
    cursor: pointer;
    background-color: #FF792F;
    /*border: 1px solid #FF792F;*/
}

.un_cartResult_btn--orange-v2 {
    background-color: #e75400 !important;
    color: white !important;
    border: 2px solid #fff;
    min-height: 65px;
    height: auto;
    max-width: 100%;
    width: 100%;
    font-size: 36px;
    padding-bottom: 2px;
}

.un_cartResult_btn--yellow {
    background-color: #e75400;
    color: white !important;
    border: 2px solid #fff;
    min-height: 70px;
    height: auto;
    max-width: 100%;
    width: 100%;
    font-size: 25px;
}
.un_cartResult_btn--yellow .label-btn {
    margin-right: 25px;
    line-height: normal;
}
.un_cartResult_btn--white {
    background-color: #fff;
    color: #000 !important;
    border: 1px solid #000;
    min-height: 50px;
    height: auto;
    max-width: 100%;
    width: 90%;
    border-radius: 8px;
    font-size: 15px;
    cursor: pointer;
}

.un_cartResult_btn--orange {
    background-color: #e75400;
    color: #fff
}

.un_cartResultInner .icon_medical {
    width: 83px;
    align-self: center;
    margin-left: 20px;
}
.un_cartResultAge .btn_age {
    cursor: pointer;
}
.un_cartResultAge .btn_age .btn_age_active {
    display: none;
}
.un_cartResultAge .btn_age:hover .btn_age_default, .un_cartResultAge .btn_age.active .btn_age_default {
    display: none;
}
.un_cartResultAge .btn_age:hover .btn_age_active, .un_cartResultAge .btn_age.active .btn_age_active {
    display: block;
}

@media screen and (min-width: 768px) and (max-width: 912px) {
    .un_cartResult_itemDoor .shape_triangle {
        margin-left: -16px;
    }

    .un_cartResult_content .text_total_amount {
        width: 20%;
    }

    .un_cartResult_content .box_price {
        width: 80%;
    }

    .un_cartResult_content .un_cartResult_subsidy--amount {
        font-size: 20px;
        padding-right: 8px;
    }

    .un_cartResult_content .box_result_cart {
        min-height: 500px;
    }

    .un_cartResult_content .un_cartResult_itemDoor .img_door_result {
        max-width: 67px;
    }

    .un_cartResult_content .un_cartResult_itemDoor .area_labelTargetConstruction {
        font-size: 17px;
    }

    .un_cartResult_content .un_cartResult_itemDoor .bg_label_typeDoor {
        padding: 5px 4px 0px 8px;
        font-size: 13px;
    }

    .un_cartResult_content .un_cartResult_itemDoor .text_itemDetailDoor {
        font-size: 13px;
    }

    .un_cartResult_content .un_cartResult_itemDoor .icon-x {
        font-size: 14px;
    }

    .un_cartResult_title {
        font-size: 18px;
    }

    .un_cartResult_itemWrap .un_cartResult_item_name {
        width: 50%;
    }

    .un_cartResult_itemWrap .un_cartResult_item_name span.num {
        font-size: 10px;
        height: 20px;
        width: 20px;
    }

    .un_cartResult_itemWrap .un_cartResult_item_name span.txt span.name {
        font-size: 14px;
        margin-left: 3px;
    }

    .un_cartResult_itemWrap .un_cartResult_item_name span.txt span.text_note {
        font-size: 10px;
    }

    .un_cartResult_itemWrap .un_cartResult_item_name span.txt span.asterisk {
        font-size: 10px;
    }

    .un_cartResult_itemWrap .un_cartResult_item_price {
        font-size: 15px;
    }

    .un_cartResult_itemWrap .un_cartResult_item_price span.yen {
        font-size: 15px;
    }

    .un_cartResult_detail .un_cartResult_title-end {
        font-size: 10.5px;
    }

    .un_cartResult_detail .koumoku .sp-only {
        display: block;
    }

    .un_cartResult_detail p.line span.koumoku span.num span.core {
        font-size: 9px;
        width: 19px;
        height: 19px;
        margin-left: 1px;
        margin-right: 1px;
    }

    .un_cartResult_detail p.line span.price {
        font-size: 20px;
    }

    .un_cartResult_detail p.off {
        font-size: 18px;
    }

    .un_cartResult_detail p.off span {
        font-size: 16px;
    }

    .un_cartResult_tree span.txt span.line {
        font-size: 13px;
    }

    .un_cartResult_tree span.txt span.num {
        font-size: 28px;
    }

    .box_reform_catch .reform-title {
        font-size: 42px;
    }

    .box_reform_catch .reform-subtitle,
    .box_health_safety .feature_item .content .box_text .des
    {
        font-size: 37px;
    }

    .box_health_safety .text-features span {
        font-size: 120px;
    }

    .box_health_safety .text-features {
        font-size: 63px;
    }

    .box_health_safety .feature_item .content .box_text .title {
        font-size: 29px;
    }

    .box_health_safety .feature_item .img_icon img {
        width: 180px;
        right: -45px;
        top: -72px;
    }

    .box_health_safety .feature_item.item_3 .img_icon img {
        width: 83px;
        right: 4px;
        top: -60px;
    }

    .box_energy_saving_title .title {
        font-size: 39px;
    }

    .box_energy_saving .des {
        font-size: 23px;
    }

    .box_energy_saving .list_benefit .benefit_item {
        font-size: 29px;
    }

    .box_energy_saving .list_option .option_item .option_item-title,
    .box_energy_saving .text_subsidy
    {
        font-size: 25px;
    }
}

@media screen and (max-width: 767px) {
    .un_cartResult_ttl, .un_cartResult_ttl--green1, .un_cartResult_ttl--orange-pale, .un_cartResult_ttl--orange-pale_total, .un_cartResult_ttl--pink,
    #cart .un_cartResult_btn
    {
        max-width:256px;
        width: 100%;
        font-size: 20px;
    }

    .bl_btn_simulation .btn_simulation,
    .un_cartResult_title--orange,
    {
        font-size: 25px;
    }

    .un_cartResult_title
    {
        font-size: 22px;
    }

    .un_cartResult_btn--yellow {
        font-size: 20px;
    }

    .un_cartResult_ttl span,.un_cartResult_ttl sub {
        font-size: 14px;
    }

    .un_cartResult_btnBack  {
        height: 50px;
        font-size: 23px;
    }

    .un_cartResult_btnBack.cross {
        width: 60%;
    }

    .un_cartResult--effect {
        
    }

        .box_icon .circle {
        width: 40px;
        height: 40px;
    }

    .box_icon .circle .plumin:after,
    .box_icon .circle .plumin:before {
        width: 20px;
    }
    
    /* start cart_window_door */
    .cart_window_door {
        display: block;
    }

    .cart_window_door .item_cart {
        width: 90%;
        margin: auto;
        margin-top: 20px;
    }
    /* end cart_window_door */

    /*================================== start subsidy-window-hybrid ==================================*/
    .subsidy-window-hybrid {
        padding-left: 10px;
        padding-right: 10px;
    }

    .subsidy-window-hybrid__header {
        min-height: 0;
        padding: 12px 8% 10px 4px;
    }

    .subsidy-window-hybrid__title {
        font-size: 16px;
    }

    .subsidy-window-hybrid__subtitle {
        font-size: 15px;
    }

    .subsidy-window-hybrid__person-img {
        right: -4px;
        top: -34px;
        width: 50px;
    }

    .subsidy-window-hybrid__intro {
        display: block;
        padding: 14px 10px 14px;
        position: relative;
    }

    .subsidy-window-hybrid__intro-text p {
        font-size: 14px;
    }

    .subsidy-window-hybrid__intro-text img {
        width: 97px;
        right: 10px;
    }

    .subsidy-window-hybrid__intro-emphasis {
        font-size: 16px !important;
        margin-top: 20px !important;
    }

    .subsidy-window-hybrid__intro-illust {
        position: absolute;
        right: 18px;
        bottom: -5px;
    }

    .subsidy-window-hybrid__intro-illust img {
        width: 64px;
    }

    .subsidy-window-hybrid__trouble-box {
        width: 98%;
        margin: 8px auto 18px;
        padding: 49px 0px 0px 0px;
        border: 3px solid #f9b800;
        border-radius: 18px;
        background: #ffffff;
        box-sizing: border-box;
    }

    .subsidy-window-hybrid__trouble-title {
        top: -18px;
        left: 50%;
        min-width: 195px;
        padding: 8px 8px;
        font-size: 18px;
    }

    .subsidy-window-hybrid__toggle {
        width: 35px;
        height: 35px;
    }

    .subsidy-window-hybrid__toggle::before, .subsidy-window-hybrid__toggle::after {
        width: 17px;
        height: 4.5px;
    }

    .subsidy-window-hybrid__trouble-content {
        gap: 15px;
    }

    .subsidy-window-hybrid__trouble-left {
        padding-left: 10px;
    }

    .subsidy-window-hybrid__trouble-label {
        font-size: 14px;
    }

    .subsidy-window-hybrid__trouble-list {
        font-size: 13px;
    }

    .subsidy-window-hybrid__solution {
        padding: 25px 30px 20px 12px;
    }

    .subsidy-window-hybrid__solution p {
        font-size: 18px;
    }

    .subsidy-window-hybrid__solution img {
        right: -7px;
        top: -25px;
        width: 97px;
    }

    .subsidy-window-hybrid__detail {
        padding: 0px 12px 25px 12px;
    }

    .subsidy-window-hybrid__recommend {
        width: 195px;
        padding: 6px 4px;
        font-size: 17px;
    }

    .subsidy-window-hybrid__mix-text {
        font-size: 17px;
    }

    .subsidy-window-hybrid__plan-card {
        display: block;
    }

    .subsidy-window-hybrid__plan-name {
        font-size: 20px;
        margin-bottom: 8px;
    }

    .subsidy-window-hybrid__plan-img img {
        width: 85px;
    }

    .subsidy-window-hybrid__plan-list {
        margin-top: 10px;
        font-size: 14px;
    }

    /*================================== end subsidy-window-hybrid ==================================*/

    .un_cartResultInner .icon_medical {
        display: block;
        margin: 15px auto;
    }

    .un_cartResult_subsidy .un_cartResult_subsidy--amount .err,
    .un_cartResult_subsidy .un_cartResult_subsidy--amount .err2 {
        font-size: 16px;
    }

    .un_cartResult_subsidy .un_cartResult_subsidy--amount {
        font-size: 27px;
    }

    .bl_cartResult_subsidy .bl_cartResult_subsidy--item:nth-child(2) {
        margin-right: 0px;
    }

    .box_text_subsidy .area_selected {
        /* padding-bottom: 15px; */
    }

    .box_subsidy_amount .box_icon .circle {
        width: 40px;
        height: 40px;
    }

    .box_subsidy_amount .box_icon .circle .plumin:after,
    .box_subsidy_amount .box_icon .circle .plumin:before {
        width: 20px;
    }

    .box_text_subsidy .area_selected ul li.area_text {
        min-width: 45px;
    }

    .un_cartResult_content .box_result_cart .text_subsidy {
        font-size: 20px;
    }

    .un_cartResult_content .box_result_cart .un_cartResult_area {
        padding-left: 0;
    }

    .un_cartResult_content .box_notice_cart {
        font-size: 15.5px;
        padding: 10px 20px 10px 25px;
    }

    .box_text_subsidy .area_selected,
    .bl_cartResult_subsidy .bl_cartResult_subsidy--item .bl_area_selected,
    .bl_cartResult_subsidy .area_selected_text
    {
        font-size: 15px;
    }

    .bl_cartResult_subsidy .bl_cartResult_subsidy--item .bl_area_selected .icon_percent {
        width: 70px;
    }

    .un_cartResult_itemDoor .bg_label_typeDoor, 
    .box_note_cart .text_note 
    {
        font-size: 15px;
    }

    .un_cartResult_itemDoor .shape_labelDetailDoor {
        width: 135px;
        font-size: 13px;
        padding: 8px 0px 8px 14px;
    }

    .un_cartResult_itemDoor .shape_labelDetailDoor::after {
       /*  right: -21px;
        border-width: 30px 0 30px 21px; */
    }

    .box_note_cart .note_selected_item {
        font-size: 17px;
    }

    .bl_cartResult_subsidy .bl_cartResult_subsidy--item .bl_area_selected .icon_percent .text_percent
    {
        font-size: 18px;
    }

    .un_cartResult_itemDoor .area_labelTargetConstruction
    {
        font-size: 17px;
    }

    .un_cartResult_itemDoor .area_labelTargetConstruction span.asterisk {
        font-size: 12px;
    }

    .bl_cartResult_subsidy .bl_cartResult_subsidy--item .bl_area_selected .icon_percent .text_off {
        font-size: 13px;
    }

    .un_cartResult_itemDoor .text_itemDetailDoor {
        font-size: 15px;
    }

    .un_cartResult_itemDoor .icon-x {
        font-size: 16px;
    }

    .un_cartResult_item {
       margin-top: 12px; 
    }

    .un_cartResult_item_name span.num {
        font-size: 18px;
        height: 29px;
        width: 29px;
    }

    .un_cartResult_item_name span.txt span.name {
        font-size: 19px;
        margin-left: 6px;
    }

    .un_cartResult_item_name span.txt span.text_note {
        display: block;
        font-size: 10px;
        margin-left: 6px;
    }

    .un_cartResult_item_name span.txt span.asterisk {
        font-size: 10px;
    }

    /* keep the label (incl. the long note line) + price on one flex line so the
       price never drops below — the note font above sets the name-cell width */
    .un_cartResult_item_price,
    .un_cartResult_item_price span.yen
    {
        font-size: 20px;
    }

    /* message standing in for the amount — a step below the 20px amount */
    .un_cartResult_item_price span.err {
        font-size: 15px;
    }

    .un_cartResult_item_price span.err2 {
        font-size: 18px;
    }

    .un_cartResult_detail .un_cartResult_title-end {
        /* 13px keeps this note on one line down to ~375px (14px wraps the last
           char on 390-398px phones e.g. iPhone 12-15). */
        font-size: 13px;
        text-align: left;
        margin-left: 5px;
    }

    .un_cartResult_detail .koumoku {
        font-size: 18px;
    }

    .un_cartResult_detail p.line span.koumoku span.num span.core {
        font-size: 14px;
        height: 22px;
        width: 22px;
    }

    .un_cartResult_detail p.line span.price {
        font-size: 28px;
    }

    .un_cartResult_detail p.off {
        font-size: 23px;
    }

    .un_cartResult_detail p.off span {
        font-size: 16px;
    }

    .un_cartResult--effect .un_cartResult_content {
        padding: 20px 0px 25px 0px;
    }

    .box_tree .un_cartResult_content {
        padding: 12px 0px !important;
    }

    .box_tree .un_cartResult_tree {
        padding: 0px 7px;
    }

    .box_tree .un_cartResult_tree .img_tree {
        width: 55px;
    }

    .box_tree .un_cartResult_tree .icon_medical {
        width: 77px;
    }

    .box_tree .un_cartResult_tree span.txt {
        padding: 0;
    }

    .box_tree .un_cartResult_tree span.txt span.line {
        font-size: 16px;
    }

    .box_tree .un_cartResult_tree span.txt span.num {
        margin-left: 1px;
        font-size: 25px;
    }

    #cart-download_water_area .un_cartResult_tree {
        padding-right: 2px;
    }

    #cart-download_water_area .un_cartResult_tree .btn_printdPdf {
        margin-left: 10%;
        margin-right: 5px;
        margin-top: 3%;
    }

    #cart-download_water_area .un_cartResult_tree .icon_medical {
        width: 20%;
    }

    /* Start box_health_safety */
    .box_reform_catch {
        padding-left: 10px;
        padding-right: 10px;
    }

    .box_reform_catch .reform-title {
        font-size: 24px;
    }

    .box_reform_catch .reform-subtitle {
        font-size: 22px;
    }

    .box_health_safety .text-features {
        font-size: 35px;
        margin-top: 10px !important;
    }

    .box_health_safety .text-features span {
        font-size: 60px;
    }

    .box_health_safety .feature_item.item_1 {
        margin-top: 20px;
    }

    .box_health_safety .feature_item .label {
        width: 185px;
        height: 45px;
        font-size: 20px;
        left: 24%;
        top: -26px;
    }

    .box_health_safety .feature_item .label span {
        font-size: 35px;
        margin-bottom: 10px;
    }

    .box_health_safety .feature_item .img_icon img {
        width: 106px;
        top: -45px;
        right: -19px;
    }

    .box_health_safety .feature_item.item_3 .img_icon img {
        width: 60px;
        top: -56px;
        right: 0px;
    }

    .box_health_safety .feature_item .empty_space {
        height: 45px;
    }

    .box_health_safety .feature_item .content {
        padding: 8px 12px;
    }

    .box_health_safety .feature_item .content .box_text .title {
        font-size: 20px;
    }

    .box_health_safety .feature_item .content .box_text .des {
        font-size: 22px;
    }

    .box_health_safety .feature_item .content .box_icon {
        padding: 0px;
    }

    .box_health_safety .feature_item .content .box_icon .circle {
        width: 40px;
        height: 40px;
    }

    .box_health_safety .feature_item .content .box_icon .circle .plumin:after,
    .box_health_safety .feature_item .content .box_icon .circle .plumin:before {
        height: 5px;
        width: 20px;
    }
    /* End box_health_safety */

    /* Start box_energy_saving */
    .box_energy_saving_title {
        padding-left: 10px;
        padding-right: 10px;
    }

    .box_energy_saving_title .title {
        font-size: 22px;
        padding: 20px 7px;
    }

    .box_energy_saving .list_benefit {
        padding: 0 10px;
    }

    .box_energy_saving .des {
        font-size: 20px;
    }

    .box_energy_saving .list_benefit .benefit_item {
        height: 45px;
        font-size: 18px;
    }

    .box_energy_saving .list_option .option_item .option_item-title,
    .box_energy_saving .text_subsidy
    {
        font-size: 17px;
    }

    .box_energy_saving .list_option .option_item .image {
        width: 85%;
    }

    .box_energy_saving .list_option .option_item .image:last-child {
        margin-top: -12px;
    }
    /* End box_energy_saving */
}

@media screen and (min-width: 768px) and (max-width: 864px) {
    .un_cartResult_itemDoor .shape_labelDetailDoor.bg-green::after {
        border-width: 37px 0 37px 21px;
    }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    #cart .un_cartResult--result,
    #cart .container {
        width: 97%;
    }

    .box_icon .circle {
        width: 45px;
        height: 45px;
    }

    .box_icon .circle .plumin:after,
    .box_icon .circle .plumin:before {
        width: 22px;
    }

    /*================================== start cart_window_door ==================================*/
    .cart_window_door {
        width: 98%;
    }
    /*================================== end cart_window_door ==================================*/

    /*================================== start subsidy-window-hybrid ==================================*/
    .subsidy-window-hybrid__title {
        font-size: 31px;
    }

    .subsidy-window-hybrid__subtitle {
        font-size: 26px;
    }

    .subsidy-window-hybrid__person-img {
        right: 5px;
        top: -35px;
        width: 90px;
    }

    .subsidy-window-hybrid__intro {
        padding: 26px 40px 16px;
    }

    .subsidy-window-hybrid__intro-text p {
        font-size: 22px;
    }

    .subsidy-window-hybrid__intro-emphasis {
        font-size: 31px !important;
    }

    .subsidy-window-hybrid__intro-text img {
        width: 165px;
        top: -37px;
        right: -20px;
    }

    .subsidy-window-hybrid__intro-illust img {
        width: 140px;
    }

    .subsidy-window-hybrid__trouble-box {
        width: 97%;
    }

    .subsidy-window-hybrid__trouble-title {
        top: -28px;
        font-size: 26px;
    }

    .subsidy-window-hybrid__trouble-label {
        font-size: 22px;
    }

    .subsidy-window-hybrid__trouble-list {
        font-size: 20px;
    }

    .subsidy-window-hybrid__solution p {
        font-size: 26px;
    }

    .subsidy-window-hybrid__solution img {
        top: -30px;
        width: 150px;
    }

    .subsidy-window-hybrid__recommend {
        font-size: 24px;
    }

    .subsidy-window-hybrid__mix-text {
        font-size: 24px;
    }

    .subsidy-window-hybrid__plan-name {
        font-size: 24px;
    }

    .subsidy-window-hybrid__plan-list {
        font-size: 13px;
    }
    /*================================== end subsidy-window-hybrid ==================================*/
}

@media screen and (min-width: 860px) {
    .un_cartResult_detail .un_cartResult_title-end {
        /* text-align: right; */
    }
}

@media screen and (max-width: 389px) {
    .btn_simulation {
        width: 96%;
        font-size: 30px;
    }
    
    #first_next_btn {
        width: 96%;
        font-size: 30px;
    }

    .triangle-black-down  {
        left: 0;
    }

    .un_cartResult_btnBack {
        width: 98%;
    }

    .un_cartResult_item_name span.txt span.name {
        font-size: 18px;
    }

    .un_cartResult_item_price, .un_cartResult_item_price span.yen {
        font-size: 18px;
    }

    .un_cartResult_detail .un_cartResult_title-end {
        /* 12px so the shade note fits one line on the narrowest phones (<=389px);
           13px left the last char wrapping alone at 360-375px. */
        font-size: 12px;
    }

    .un_cartResult_detail p.line span.koumoku span.num span.core {
        font-size: 12px;
        height: 20px;
        width: 20px;
    }

    .un_cartResult_detail .koumoku {
        font-size: 16px;
    }

    .un_cartResult_detail p.line span.price {
        font-size: 25px;
    }

    .un_topAbout_cont {
        padding: 12px 8px 12px 8px;
    }
}

@media screen and (max-width: 375px) {
    .subsidy-window-hybrid__subtitle {
        font-size: 14px;
    }

    .subsidy-window-hybrid__intro-text img {
        width: 90px;
        right: -5px;
    }

    .subsidy-window-hybrid__trouble-label {
        font-size: 13px;
    }

    .subsidy-window-hybrid__trouble-content {
        gap: 12px;
    }

    .box_wrapper {
        padding-left: 10px;
        padding-right: 10px;
    }
}

@supports (-webkit-touch-callout: none) { /*For iOs device*/
    .un_cartResult_itemDoor .icon-x {
        font-size: 18px;
    }
}
/* End cart */
