/* DN Core ホームページ診断（sitecheck）— テーマの色に負けないよう、色と文字はすべてここで決める */
.dn-sc{--sc-ink:#16203a;--sc-muted:#5b6478;--sc-line:#dce0e8;--sc-bg:#fff;--sc-soft:#f5f6f8;--sc-accent:#e07a1f;--sc-good:#2f7a4f;--sc-warn:#b07a10;--sc-bad:#b4452d;--sc-info:#5b6478;
	color:var(--sc-ink);font-size:15px;line-height:1.8;display:grid;gap:20px;max-width:980px;margin:0 auto}
.dn-sc *{box-sizing:border-box}
.dn-sc__form{background:var(--sc-soft);border:1px solid var(--sc-line);border-radius:10px;padding:22px;display:grid;gap:10px}
.dn-sc__label{font-weight:700;font-size:16px;color:var(--sc-ink)}
.dn-sc__row{display:flex;gap:10px;flex-wrap:wrap}
.dn-sc__input{flex:1 1 260px;min-width:0;font-size:17px;padding:12px 14px;border:2px solid var(--sc-line);border-radius:8px;background:var(--sc-bg);color:var(--sc-ink)}
.dn-sc__input:focus{outline:none;border-color:var(--sc-accent)}
.dn-sc__btn{flex:0 0 auto;font-size:16px;font-weight:700;padding:12px 26px;border:0;border-radius:8px;background:var(--sc-accent);color:#fff;cursor:pointer}
.dn-sc__btn:disabled{opacity:.55;cursor:wait}
.dn-sc__btn:focus-visible,.dn-sc__ctabtn:focus-visible{outline:3px solid var(--sc-ink);outline-offset:2px}
.dn-sc__hint{margin:0;font-size:13px;color:var(--sc-muted)}
.dn-sc__wait,.dn-sc__error{margin:0;padding:14px 16px;border-radius:8px;background:var(--sc-soft);color:var(--sc-muted)}
.dn-sc__error{color:var(--sc-bad);background:#fbefec}
.dn-sc__head{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
.dn-sc__host{font-size:20px;font-weight:700;word-break:break-all}
.dn-sc__cached{font-size:12px;color:var(--sc-muted)}
.dn-sc__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:16px}
.dn-sc__card{background:var(--sc-bg);border:1px solid var(--sc-line);border-radius:10px;padding:20px;display:grid;gap:10px;align-content:start;min-width:0}
.dn-sc__eyebrow{margin:0;font-size:12.5px;font-weight:700;letter-spacing:.06em;color:var(--sc-muted)}
.dn-sc__badge{justify-self:start;font-size:13px;font-weight:700;padding:3px 12px;border-radius:999px;color:#fff;background:var(--sc-info)}
.dn-sc__card.is-ready .dn-sc__badge{background:var(--sc-good)}
.dn-sc__card.is-cond .dn-sc__badge{background:#2e64a8}
.dn-sc__card.is-move .dn-sc__badge{background:var(--sc-warn)}
.dn-sc__card.is-new .dn-sc__badge{background:var(--sc-bad)}
.dn-sc__title{margin:0;font-size:19px;line-height:1.5;color:var(--sc-ink)}
.dn-sc__lead{margin:0;color:var(--sc-muted);font-size:14px}
.dn-sc__items{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.dn-sc__item{display:grid;grid-template-columns:22px 1fr;gap:6px;font-size:14px;padding-top:8px;border-top:1px solid var(--sc-line)}
.dn-sc__mark{font-weight:700;text-align:center}
.dn-sc__item.is-good .dn-sc__mark{color:var(--sc-good)}
.dn-sc__item.is-warn .dn-sc__mark{color:var(--sc-warn)}
.dn-sc__item.is-bad .dn-sc__mark{color:var(--sc-bad)}
.dn-sc__item.is-info .dn-sc__mark{color:var(--sc-info)}
.dn-sc__itembody{display:grid;min-width:0;word-break:break-word}
.dn-sc__itembody b{font-weight:700;color:var(--sc-ink)}
.dn-sc__itembody span{color:var(--sc-muted)}
.dn-sc__gauge{display:flex;gap:16px;align-items:center}
.dn-sc__ring{--p:0;flex:0 0 auto;width:104px;height:104px;border-radius:50%;display:grid;place-items:center;
	background:radial-gradient(closest-side,var(--sc-bg) 76%,transparent 77%),conic-gradient(var(--sc-accent) calc(var(--p)*1%),var(--sc-line) 0)}
.dn-sc__score{font-size:30px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--sc-ink)}
.dn-sc__score small{font-size:12px;color:var(--sc-muted);margin-left:2px}
.dn-sc__gaugetext{margin:0;font-weight:700;color:var(--sc-ink)}
.dn-sc__cta{background:var(--sc-ink);color:#fff;border-radius:10px;padding:20px;display:grid;gap:12px}
.dn-sc__cta p{margin:0;font-weight:700;color:#fff}
.dn-sc__ctarow{display:flex;gap:10px;flex-wrap:wrap}
.dn-sc__ctabtn{display:inline-block;padding:11px 20px;border-radius:8px;background:var(--sc-accent);color:#fff!important;font-weight:700;text-decoration:none!important}
.dn-sc__ctabtn.is-sub{background:transparent;border:1px solid rgba(255,255,255,.6)}
@media (prefers-reduced-motion:no-preference){.dn-sc__card{animation:dn-sc-in .25s ease-out}}
@keyframes dn-sc-in{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}
/* テーマ（SWELL 等）の本文用の見出し・リストの装飾を打ち消す（1.0.1） */
.dn-sc h3.dn-sc__title{margin:0!important;padding:0!important;border:0!important;background:none!important;font-size:19px!important;line-height:1.5!important}
.dn-sc h3.dn-sc__title::before,.dn-sc h3.dn-sc__title::after{content:none!important;display:none!important}
.dn-sc ul.dn-sc__items{margin:0!important;padding:0!important;list-style:none!important}
.dn-sc ul.dn-sc__items>li.dn-sc__item{margin:0!important;padding:8px 0 0!important;list-style:none!important}
.dn-sc ul.dn-sc__items>li.dn-sc__item::before,.dn-sc ul.dn-sc__items>li.dn-sc__item::after{content:none!important;display:none!important}
.dn-sc p.dn-sc__eyebrow,.dn-sc p.dn-sc__lead,.dn-sc p.dn-sc__gaugetext,.dn-sc p.dn-sc__hint,.dn-sc__cta p{margin:0!important}

/* ---- お客様向けの健康診断（mode="health"）1.1.0 ---- */
.dn-sc{--sc-danger:#c62828;--sc-caution:#d98a00}
.dn-sc__hero{display:flex;gap:20px;align-items:center;flex-wrap:wrap;background:var(--sc-bg);border:1px solid var(--sc-line);border-radius:12px;padding:22px;border-top:6px solid var(--sc-info)}
.dn-sc__hero.is-grade-s{border-top-color:#b8912f}.is-grade-s .dn-sc__gradeletter{color:#b8912f}.dn-sc__hero.is-grade-a{border-top-color:var(--sc-good)}.dn-sc__hero.is-grade-b{border-top-color:#2e64a8}
.dn-sc__hero.is-grade-c{border-top-color:var(--sc-caution)}.dn-sc__hero.is-grade-d,.dn-sc__hero.is-grade-e,.dn-sc__hero.is-grade-—{border-top-color:var(--sc-danger)}
.dn-sc__grade{flex:0 0 auto;display:grid;place-items:center;width:112px;height:112px;border-radius:16px;background:var(--sc-soft)}
.dn-sc__gradelabel{font-size:12px;font-weight:700;color:var(--sc-muted);align-self:end}
.dn-sc__gradeletter{font-size:60px;font-weight:800;line-height:1;align-self:start;color:var(--sc-ink)}
.is-grade-a .dn-sc__gradeletter{color:var(--sc-good)}.is-grade-b .dn-sc__gradeletter{color:#2e64a8}.is-grade-c .dn-sc__gradeletter{color:var(--sc-caution)}
.is-grade-d .dn-sc__gradeletter,.is-grade-e .dn-sc__gradeletter{color:var(--sc-danger)}
.dn-sc__herotext{flex:1 1 280px;min-width:0;display:grid;gap:6px}
.dn-sc__chips{display:flex;gap:8px;flex-wrap:wrap}
.dn-sc__chip{font-size:13px;font-weight:700;padding:3px 12px;border-radius:999px;background:var(--sc-soft);color:var(--sc-ink)}
.dn-sc__chip.is-danger{background:#fdecea;color:var(--sc-danger)}.dn-sc__chip.is-caution{background:#fff4e0;color:#8a5a00}
.dn-sc__groups{display:grid;gap:14px}
.dn-sc__group{background:var(--sc-bg);border:1px solid var(--sc-line);border-radius:12px;padding:16px 18px;display:grid;gap:10px}
.dn-sc h4.dn-sc__grouphead{margin:0!important;padding:0!important;border:0!important;background:none!important;font-size:17px!important;display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:var(--sc-ink)}
.dn-sc h4.dn-sc__grouphead::before,.dn-sc h4.dn-sc__grouphead::after{content:none!important;display:none!important}
.dn-sc__groupcount{font-size:12px;font-weight:700;padding:2px 10px;border-radius:999px}
.dn-sc__groupcount.is-bad{background:#fdecea;color:var(--sc-danger)}.dn-sc__groupcount.is-ok{background:#e8f4ec;color:var(--sc-good)}
.dn-sc__finding{display:grid;grid-template-columns:52px 1fr;gap:10px;padding-top:10px;border-top:1px solid var(--sc-line)}
.dn-sc__lv{align-self:start;text-align:center;font-size:12px;font-weight:800;padding:3px 0;border-radius:6px;color:#fff;background:var(--sc-good)}
.dn-sc__finding.is-danger .dn-sc__lv{background:var(--sc-danger)}.dn-sc__finding.is-caution .dn-sc__lv{background:var(--sc-caution)}
.dn-sc__fbody{display:grid;gap:2px;min-width:0;font-size:14px}
.dn-sc__fbody b{color:var(--sc-ink)}.dn-sc__fbody span{color:var(--sc-muted)}
.dn-sc__fbody .dn-sc__risk{color:var(--sc-danger);font-weight:700}
.dn-sc__finding.is-caution .dn-sc__risk{color:#8a5a00}
.dn-sc__finding.is-info .dn-sc__lv{background:#8a8f98}
.dn-sc p.dn-sc__note{margin:0!important;font-size:12px;color:var(--sc-muted)}

/* ---- 見た目・使いやすさ（1.3.0） ---- */
.dn-sc__visual{background:var(--sc-bg);border:1px solid var(--sc-line);border-radius:12px;padding:16px 18px;display:grid;gap:12px;border-top:6px solid var(--sc-info)}
.dn-sc__visual.is-grade-a{border-top-color:var(--sc-good)}.dn-sc__visual.is-grade-b{border-top-color:#2e64a8}.dn-sc__visual.is-grade-c{border-top-color:var(--sc-caution)}
.dn-sc__visual.is-grade-d,.dn-sc__visual.is-grade-e{border-top-color:var(--sc-danger)}
.dn-sc__visual.is-loading .dn-sc__wait{position:relative;overflow:hidden}
@media (prefers-reduced-motion:no-preference){.dn-sc__visual.is-loading .dn-sc__wait::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:dn-sc-shine 1.6s linear infinite}}
@keyframes dn-sc-shine{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.dn-sc__vwrap{display:grid;grid-template-columns:minmax(0,220px) 1fr;gap:18px;align-items:start}
@media (max-width:640px){.dn-sc__vwrap{grid-template-columns:1fr}.dn-sc__shot{max-width:240px;margin:0 auto!important}}
.dn-sc figure.dn-sc__shot{margin:0!important;padding:0!important;display:grid;gap:6px}
.dn-sc__shot img{display:block;width:100%;height:auto;max-height:440px;object-fit:cover;object-position:top;border-radius:14px;border:6px solid #16203a;box-shadow:0 6px 18px rgba(22,32,58,.18);background:#fff}
.dn-sc__shot figcaption{font-size:12px;color:var(--sc-muted);text-align:center}
.dn-sc__vside{display:grid;gap:10px;min-width:0;align-content:start}
.dn-sc p.dn-sc__vsum{margin:0!important;font-weight:700;font-size:16px;color:var(--sc-ink)}
.dn-sc__vside>.dn-sc__chip{justify-self:start}
.dn-sc__bars{display:grid;gap:10px}
.dn-sc__bar{display:grid;gap:3px}
.dn-sc__barhead{display:flex;justify-content:space-between;gap:8px;font-size:14px}
.dn-sc__barhead b{color:var(--sc-ink)}.dn-sc__barhead span{font-variant-numeric:tabular-nums;color:var(--sc-muted);font-weight:700}
.dn-sc__track{height:8px;border-radius:99px;background:var(--sc-soft);overflow:hidden}
.dn-sc__track i{display:block;height:100%;border-radius:99px;background:var(--sc-good)}
.dn-sc__bar.is-caution .dn-sc__track i{background:var(--sc-caution)}.dn-sc__bar.is-danger .dn-sc__track i{background:var(--sc-danger)}
.dn-sc__barnote{font-size:13px;color:var(--sc-muted);line-height:1.6}
.dn-sc__plist{display:grid;gap:4px;font-size:14px}
.dn-sc__plist>b{color:var(--sc-ink)}
.dn-sc__plist.is-goodp .dn-sc__mark{color:var(--sc-good)}.dn-sc__plist.is-old .dn-sc__mark{color:var(--sc-caution)}.dn-sc__plist.is-fix .dn-sc__mark{color:var(--sc-accent)}

/* ---- 進捗バーと結果の登場演出（1.3.0） ---- */
.dn-sc__prog{background:var(--sc-ink);color:#fff;border-radius:14px;padding:20px 22px;display:grid;gap:12px;box-shadow:0 10px 30px rgba(22,32,58,.25)}
.dn-sc__proghead{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.dn-sc__proghead b{font-size:16px;color:#fff}
.dn-sc__prognum{font-size:34px;font-weight:800;font-variant-numeric:tabular-nums;color:#ffb062;line-height:1}
.dn-sc__progtrack{position:relative;height:14px;border-radius:99px;background:rgba(255,255,255,.14);overflow:hidden}
.dn-sc__progtrack i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:99px;background:linear-gradient(90deg,#e07a1f,#ffb062,#e07a1f);background-size:200% 100%}
@media (prefers-reduced-motion:no-preference){.dn-sc__progtrack i{animation:dn-sc-flow 1.2s linear infinite}}
@keyframes dn-sc-flow{from{background-position:200% 0}to{background-position:0 0}}
.dn-sc ol.dn-sc__steps{margin:0!important;padding:0!important;list-style:none!important;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:6px 16px}
.dn-sc ol.dn-sc__steps>li.dn-sc__step{margin:0!important;padding:0 0 0 24px!important;position:relative;font-size:13.5px;color:rgba(255,255,255,.45);list-style:none!important}
.dn-sc ol.dn-sc__steps>li.dn-sc__step::before{content:"";position:absolute;left:0;top:.45em;width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.35)}
.dn-sc ol.dn-sc__steps>li.dn-sc__step.is-run{color:#fff;font-weight:700}
.dn-sc ol.dn-sc__steps>li.dn-sc__step.is-run::before{border-color:#ffb062;border-top-color:transparent}
@media (prefers-reduced-motion:no-preference){.dn-sc ol.dn-sc__steps>li.dn-sc__step.is-run::before{animation:dn-sc-spin .8s linear infinite}}
@keyframes dn-sc-spin{to{transform:rotate(360deg)}}
.dn-sc ol.dn-sc__steps>li.dn-sc__step.is-done{color:rgba(255,255,255,.85)}
.dn-sc ol.dn-sc__steps>li.dn-sc__step.is-done::before{content:"✓";border:0;background:#2f9a5f;color:#fff;font-size:9px;line-height:12px;text-align:center;font-weight:800}
.dn-sc__prog.is-complete .dn-sc__prognum{color:#7fe0a6}
.dn-sc__prog.is-complete .dn-sc__progtrack i{background:linear-gradient(90deg,#2f9a5f,#7fe0a6)}
@media (prefers-reduced-motion:no-preference){.dn-sc__prog.is-complete{animation:dn-sc-done .75s ease-out}}
@keyframes dn-sc-done{0%{transform:scale(1)}30%{transform:scale(1.025);box-shadow:0 0 0 6px rgba(127,224,166,.35),0 10px 30px rgba(22,32,58,.25)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:no-preference){
.dn-sc__out.is-reveal .dn-sc__hero{animation:dn-sc-hero .7s cubic-bezier(.2,1.4,.4,1) both}
.dn-sc__out.is-reveal .dn-sc__gradeletter{animation:dn-sc-letter .9s cubic-bezier(.2,1.6,.4,1) .15s both}
.dn-sc__out.is-reveal .dn-sc__group,.dn-sc__out.is-reveal .dn-sc__visual,.dn-sc__out.is-reveal .dn-sc__cta{animation:dn-sc-up .55s ease-out both;animation-delay:calc(.45s + var(--i,0) * .12s)}
.dn-sc__out.is-reveal .dn-sc__shot img{animation:dn-sc-phone .8s cubic-bezier(.2,1.3,.4,1) both;animation-delay:calc(.6s + var(--i,0) * .12s)}
}
.dn-sc__track i{transition:width 1.1s cubic-bezier(.2,.9,.3,1)}
.dn-sc__grade{position:relative}
.dn-sc__burst{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none}
.dn-sc__burst i{position:absolute;left:-5px;top:-5px;width:10px;height:10px;border-radius:2px;background:var(--c);transform:rotate(var(--a)) translateX(0) scale(var(--s));opacity:0;animation:dn-sc-burst 1.2s cubic-bezier(.1,.8,.3,1) .2s forwards}
.dn-sc__burst i:nth-child(3n){border-radius:50%}
@keyframes dn-sc-burst{0%{opacity:1;transform:rotate(var(--a)) translateX(0) scale(var(--s))}70%{opacity:1}100%{opacity:0;transform:rotate(var(--a)) translateX(var(--d)) rotate(200deg) scale(var(--s))}}
@keyframes dn-sc-hero{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:none}}
@keyframes dn-sc-letter{0%{opacity:0;transform:scale(2.6) rotate(-12deg);filter:blur(6px)}60%{opacity:1;filter:none}100%{transform:none}}
@keyframes dn-sc-up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes dn-sc-phone{from{opacity:0;transform:translateY(30px) rotate(-4deg)}to{opacity:1;transform:none}}
/* 箇条の行間を詰める */
.dn-sc__plist ul.dn-sc__items>li.dn-sc__item{padding:5px 0 0!important;border-top:0!important}
.dn-sc__out{overflow-x:clip}
.dn-sc__out{scroll-margin-top:84px}
