/* ECG Live Numbers：記事の図解・概要カード（サイトの色：紺 #311069／マゼンタ #de5cf2／黄 #ffe566） */
.ecgl{--ecgl-nv:#311069;--ecgl-pk:#de5cf2;--ecgl-ye:#ffe566;--ecgl-sub:#5f5578;--ecgl-lav:#daddfc;box-sizing:border-box;color:var(--ecgl-nv);font-feature-settings:"palt";line-height:1.5;letter-spacing:.02em}
.ecgl *,.ecgl *::before,.ecgl *::after{box-sizing:border-box}
.ecgl ul{list-style:none!important;margin:0!important;padding:0!important;border:0!important;background:none!important}
.ecgl li{margin:0!important;padding:0!important;line-height:inherit}
.ecgl li::before,.ecgl li::after{content:none!important;display:none!important}
.ecgl li::marker{content:none}
.ecgl p,.ecgl b,.ecgl small,.ecgl mark{margin:0}
.ecgl svg{display:block}
.ecgl img{border:none!important;box-shadow:none!important;max-width:100%}
.ecgl-fig{margin:1.6em 0!important;padding:26px 24px 18px;background:#f5f2fc;border-radius:28px;position:relative;overflow:hidden}
.ecgl-fig::before{content:"";position:absolute;width:260px;height:220px;left:-80px;top:-70px;border-radius:50% 45% 55% 50%/55% 50% 45% 50%;background:#f7e4fc;opacity:.7}
.ecgl-fig>*{position:relative}
.ecgl-h{font-size:26px;font-weight:900;line-height:1.4;letter-spacing:.02em;color:var(--ecgl-nv)}
.ecgl-mk{background:linear-gradient(transparent 60%,var(--ecgl-ye) 60%);padding:0 4px}
.ecgl-sub{font-size:14px;font-weight:700;color:var(--ecgl-sub);margin-top:6px}
.ecgl-foot{font-size:12px!important;color:#666!important;line-height:1.6!important;margin:16px 0 0!important;padding:0!important;text-align:left!important;font-weight:500}
.ecgl-bubble{position:relative;display:inline-block;background:#fff;border:2px solid var(--ecgl-nv);border-radius:16px;padding:8px 14px;font-size:15px;font-weight:700;line-height:1.4;color:var(--ecgl-nv)}
.ecgl-bubble::after{content:"";position:absolute;right:-12px;top:50%;margin-top:-7px;border:7px solid transparent;border-left:11px solid var(--ecgl-nv)}
.ecgl-bubble::before{content:"";position:absolute;right:-7px;top:50%;margin-top:-5px;border:5px solid transparent;border-left:8px solid #fff;z-index:1}
.ecgl-bulb{width:72px;height:auto;flex:none}

/* 世帯別 */
.ecgl-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.ecgl-mascot{display:flex;align-items:center;gap:12px;flex:none}
.ecgl-planbar{display:flex;align-items:center;gap:14px;margin-top:16px;background:#fff;border:2px solid var(--ecgl-nv);border-radius:16px;padding:10px 16px;width:fit-content;max-width:100%}
.ecgl-planbar b{display:block;font-size:16px;font-weight:900;margin-bottom:4px}
.ecgl-planbar span:not(.ecgl-logo-s){display:inline-block;font-size:12.5px;font-weight:700;background:#fff3b8;border-radius:999px;padding:2px 10px;margin:2px 6px 0 0}
.ecgl-logo,.ecgl-logo-s{display:inline-block;line-height:0;border-radius:14px;overflow:hidden;flex:none}
.ecgl-logo-s img{height:46px;width:auto;display:block}
.ecgl-hh-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 18px;margin-top:28px}
.ecgl-hh{position:relative;background:#fff;border:2px solid var(--ecgl-nv);border-radius:14px;padding:20px 14px 16px;box-shadow:0 3px 0 rgba(49,16,105,.12);text-align:center}
.ecgl-tag{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--ecgl-pk);color:#fff;font-size:14px;font-weight:900;letter-spacing:.06em;border-radius:999px;padding:3px 20px;white-space:nowrap}
.ecgl-scene{width:100%;max-width:240px;height:auto;margin:4px auto 0}
.ecgl-who{font-size:13px;font-weight:700;color:var(--ecgl-sub);margin-top:4px}
.ecgl-badge{display:inline-block;margin-top:10px;background:var(--ecgl-ye);border:2px solid var(--ecgl-nv);border-radius:999px;padding:4px 18px;font-size:15px;font-weight:900;white-space:nowrap}
.ecgl-badge b{font-size:28px;font-weight:900;letter-spacing:.01em}
.ecgl-ex{font-size:12.5px;font-weight:700;color:var(--ecgl-sub);margin-top:8px}

/* レシート */
.ecgl-rc-row{display:flex;justify-content:center;gap:36px;margin-top:30px}
.ecgl-rc{flex:1;max-width:320px;background:#fff;padding:20px 20px 30px;position:relative;filter:drop-shadow(3px 5px 0 rgba(49,16,105,.12));
 -webkit-mask:linear-gradient(#000,#000) top/100% calc(100% - 12px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/20px 12px repeat-x;
 mask:linear-gradient(#000,#000) top/100% calc(100% - 12px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/20px 12px repeat-x}
.ecgl-rc.is-l{transform:rotate(-1.6deg)}.ecgl-rc.is-r{transform:rotate(1.4deg)}
.ecgl-rh{text-align:center;font-size:12px;font-weight:900;letter-spacing:.25em;color:#8d84a8;border-bottom:2px dashed #d9d0ee;padding-bottom:8px}
.ecgl-co{display:flex;align-items:center;justify-content:center;gap:8px;min-height:58px;margin-top:8px}
.ecgl-co b{font-size:16px;font-weight:900;line-height:1.3}
.ecgl-co .ecgl-logo-s img{height:40px}
.ecgl-ln{display:flex;align-items:baseline;font-size:14px;font-weight:700;padding:7px 0}
.ecgl-ln span{white-space:nowrap}
.ecgl-ln i{flex:1;border-bottom:2px dotted #d9d0ee;margin:0 6px;transform:translateY(-4px)}
.ecgl-ln b{font-size:15.5px;font-weight:900;white-space:nowrap}
.ecgl-ln b.is-minus{color:#7b55d9}
.ecgl-ln b.is-circle{outline:2.5px solid var(--ecgl-pk);outline-offset:3px;border-radius:999px;padding:0 6px}
.ecgl-tot{border-top:2.5px solid var(--ecgl-nv);margin-top:8px;padding-top:10px;display:flex;justify-content:space-between;align-items:baseline;font-weight:900}
.ecgl-tot b{font-size:25px}.ecgl-tot small{font-size:14px}
.ecgl-rc-btm{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:22px}
.ecgl-stamp{width:120px;height:120px;border-radius:50%;background:var(--ecgl-ye);border:2px solid var(--ecgl-nv);display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;flex:none;margin-right:12px;box-shadow:3px 4px 0 rgba(49,16,105,.15)}
.ecgl-stamp small{font-size:12px}.ecgl-stamp b{font-size:24px;line-height:1.15}

/* 概要カード */
.ecgl-ov{position:relative;margin:1.6em 0;padding:20px;background:var(--ecgl-c3);border:3px solid var(--ecgl-nv);border-radius:26px;box-shadow:6px 6px 0 var(--ecgl-nv);overflow:hidden;
 background-image:repeating-linear-gradient(-45deg,transparent 0 13px,var(--ecgl-c1) 13px 15px)}
.ecgl-box{background:#fff;border-radius:20px;padding:16px;box-shadow:0 2px 0 rgba(49,16,105,.06),0 8px 20px rgba(49,16,105,.08)}
.ecgl-ov>.ecgl-box,.ecgl-ov-2{margin-top:14px}
.ecgl-ov>.ecgl-box:first-child{margin-top:0}
.ecgl-ov-head{text-align:center}
.ecgl-ov-head .ecgl-logo img{height:var(--ecgl-lh,100px);width:auto;max-width:100%;display:block;margin:0 auto}
.ecgl-ov-head hr{height:2px;border:0;background:var(--ecgl-lav);margin:14px 40px 12px}
.ecgl-ov-name{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.ecgl-ov-name span{font-size:12px;font-weight:800;background:var(--ecgl-c1);border-radius:999px;padding:3px 13px}
.ecgl-ov-name b{font-size:24px;font-weight:900;letter-spacing:.04em}
.ecgl-ov-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ecgl-bh{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:16px;font-weight:900}
.ecgl-bh::after{content:"";flex:1;height:2px;background:linear-gradient(90deg,var(--ecgl-lav),transparent);margin-left:4px}
.ecgl-ic-b{flex:none;width:40px;height:40px;border-radius:50%;background:var(--ecgl-c2);display:flex;align-items:center;justify-content:center}
.ecgl-spec li{display:flex;align-items:center;gap:10px;min-height:52px;background:#fff;border:1.5px solid var(--ecgl-lav);border-radius:999px;padding:5px 16px 5px 6px!important;margin-top:8px!important}
.ecgl-spec .ecgl-k{flex:1;min-width:0;font-size:13px;font-weight:800;white-space:nowrap;letter-spacing:0}
.ecgl-spec .ecgl-v{font-size:15px;font-weight:900;white-space:nowrap;letter-spacing:0}
.ecgl-spec mark{background:linear-gradient(transparent 70%,#fff799 70%);color:inherit;padding:0 2px}
.ecgl-for li{display:flex;align-items:center;gap:12px;min-height:80px}
.ecgl-for li+li{border-top:1px dashed var(--ecgl-lav)}
.ecgl-for .ecgl-k{flex:1;font-size:15px;font-weight:800;line-height:1.6}
.ecgl-ev{display:flex;align-items:center;gap:8px}
.ecgl-radar{flex:1 1 52%;min-width:0;width:100%;height:auto;overflow:visible}
.ecgl-ev ul{flex:0 0 46%}
.ecgl-ev li{display:flex;align-items:center;gap:12px;padding:8px 2px!important}
.ecgl-ev li+li{border-top:1px dashed var(--ecgl-lav)}
.ecgl-pt{flex:none;width:60px;height:28px;border-radius:14px;background:var(--ecgl-nv);color:#fff;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center}
.ecgl-pt b{color:#ffd84d;font-size:17px;margin-right:3px}
.ecgl-pt.is-na{background:#c9c6d6}
.ecgl-ev .ecgl-k{font-size:15px;font-weight:800;line-height:1.35;min-width:0}
.ecgl-ev small{display:block;font-size:12px;font-weight:700;color:var(--ecgl-sub)}
.ecgl-radar text{font-family:inherit}
.ecgl-ov-foot{font-size:11.5px!important;line-height:1.6!important;color:var(--ecgl-sub)!important;background:rgba(255,255,255,.92);border-radius:12px;padding:7px 12px!important;margin:12px 0 0!important}

@media (max-width:600px){
 .ecgl-fig{padding:20px 14px 14px;border-radius:22px}
 .ecgl-h{font-size:19px}
 .ecgl-sub{font-size:12px}
 .ecgl-head .ecgl-bubble{display:none}
 .ecgl-bulb{width:50px}
 .ecgl-planbar{padding:9px 11px;gap:10px;width:auto}
 .ecgl-planbar b{font-size:13.5px}
 .ecgl-planbar span:not(.ecgl-logo-s){font-size:11px;padding:1px 7px;margin:2px 3px 0 0}
 .ecgl-logo-s img{height:36px}
 .ecgl-hh-grid{grid-template-columns:1fr;gap:22px;margin-top:22px}
 .ecgl-hh{display:grid;grid-template-columns:120px 1fr;align-items:center;column-gap:8px;padding:18px 10px 12px;text-align:left}
 .ecgl-tag{left:18px;transform:none;font-size:13px;padding:2px 16px}
 .ecgl-scene{max-width:120px;margin:0}
 .ecgl-who{margin:0;font-size:12px}
 .ecgl-badge{margin-top:6px;padding:3px 12px;font-size:12.5px}
 .ecgl-badge b{font-size:22px}
 .ecgl-ex{font-size:11.5px;margin-top:6px}
 .ecgl-rc-row{flex-direction:column;align-items:center;gap:24px;margin-top:22px}
 .ecgl-rc{width:100%;max-width:330px;padding:18px 18px 26px}
 .ecgl-tot b{font-size:22px}
 .ecgl-stamp{width:84px;height:84px;margin-right:2px}
 .ecgl-stamp b{font-size:17px}.ecgl-stamp small{font-size:10.5px}
 .ecgl-rc-btm .ecgl-bubble{font-size:11px;padding:7px 9px;white-space:nowrap}
 .ecgl-rc-btm .ecgl-bulb{width:44px}
 .ecgl-foot{font-size:11px!important}
 .ecgl-ov{padding:13px;border-radius:20px;box-shadow:4px 4px 0 var(--ecgl-nv)}
 .ecgl-box{padding:13px;border-radius:16px}
 .ecgl-ov-head .ecgl-logo img{height:calc(var(--ecgl-lh,100px) * .66)}
 .ecgl-ov-head hr{margin:12px 24px 10px}
 .ecgl-ov-name{flex-direction:column;gap:6px}
 .ecgl-ov-name b{font-size:19px}
 .ecgl-ov-2{grid-template-columns:1fr;gap:12px}
 .ecgl-ov>.ecgl-box,.ecgl-ov-2{margin-top:12px}
 .ecgl-spec li{min-height:46px}
 .ecgl-spec .ecgl-k{font-size:13px}
 .ecgl-spec .ecgl-v{font-size:14.5px}
 .ecgl-for li{min-height:62px}
 .ecgl-for .ecgl-k{font-size:14px}
 .ecgl-ev{display:block}
 .ecgl-radar{max-width:340px;margin:0 auto}
 .ecgl-ev .ecgl-k{font-size:14px}
 .ecgl-ev small{font-size:11.5px}
 .ecgl-ov-foot{font-size:10.5px!important}
}
