/* 留学ガイドトップ：デザイン案（StudyTop / MobileStudy）から作ったCSS。build_study_home.py で生成 */
.ncsd-pc{margin:0;background:#FAF6EF none;color:#1F1B16;font-family:'Zen Kaku Gothic New',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.ncsd-pc a{color:#0B7F8C;text-decoration:none}
.ncsd-pc a:hover{color:#08606A}
.ncsd-pc h1,.ncsd-pc h2,.ncsd-pc h3,.ncsd-pc p,.ncsd-pc ul{margin:0}
.ncsd-pc ul{padding:0;list-style:none}
.ncsd-pc .sd-serif{font-family:'Shippori Mincho B1',serif;font-weight:500}
.ncsd-pc .sd-fr{font-family:'Fraunces',serif;font-weight:600;font-optical-sizing:auto}
.ncsd-pc .sd-mono{font-family:'DM Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#0B7F8C;font-weight:500}
.ncsd-pc .sd-btn{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 22px;border-radius:12px;font-weight:700;font-size:15px;border:0;cursor:pointer;font-family:inherit;white-space:nowrap;gap:8px}
.ncsd-pc .sd-mango{background:#FF7A1A;color:#1F1B16}
.ncsd-pc .sd-ghost{background:transparent;color:#1F1B16;border:1.5px solid #1F1B16}
.ncsd-pc .sd-paper{background:#fff;color:#1F1B16;border:1px solid #E7DFD3}
.ncsd-pc .sd-onink{background:#FAF6EF;color:#1F1B16}
.ncsd-pc .sd-chip{display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:999px;border:1px solid #E7DFD3;background:#fff;font-size:13px;font-weight:500;color:#1F1B16;white-space:nowrap}
.ncsd-pc .sd-chip.sd-on{background:#1F1B16;color:#fff;border-color:#1F1B16}
.ncsd-pc .sd-chip.sd-dark{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);color:#FAF6EF}
.ncsd-pc .sd-card{background:#fff;border:1px solid #E7DFD3;border-radius:20px}
.ncsd-pc .sd-ph{object-fit:cover;display:block;border-radius:16px}
.ncsd-pc .sd-sticker{display:inline-block;background:#FFD23F;color:#1F1B16;font-weight:700;font-size:12px;line-height:1;padding:7px 10px;border-radius:6px;transform:rotate(-2deg)}
.ncsd-pc .sd-hl{box-shadow:inset 0 -.42em 0 #FFD23F}
.ncsd-pc .sd-muted{color:#6E665C}
.ncsd-pc .sd-lead{font-size:17px;line-height:1.9}
.ncsd-pc .sd-polaroid{background:#fff;padding:10px 10px 30px;border:1px solid #E7DFD3;border-radius:6px}
.ncsd-pc .sd-ico{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ncsd-pc .sd-h2{font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:34px;line-height:1.3;letter-spacing:.02em}
.ncsd-pc .sd-h3{font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:22px;line-height:1.35}
.ncsd-pc .sd-nav a{color:#1F1B16;font-size:15px;font-weight:500}
.ncsd-pc .sd-foot a{color:#E7DFD3;font-size:14px}
.ncsd-pc .sd-rank{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid #E7DFD3;color:#1F1B16}
.ncsd-pc .sd-rank .sd-n{font-family:'Fraunces',serif;font-weight:600;font-size:18px;color:#0B7F8C;width:24px}
.ncsd-pc .sd-rank img{width:56px;height:40px;object-fit:cover;border-radius:8px;border:1px solid #E7DFD3}
.ncsd-pc .sd-rank .sd-s{font-family:'Fraunces',serif;font-weight:600;font-size:16px;margin-left:auto}
.ncsd-pc .sd-opt{display:flex;align-items:center;gap:12px;height:52px;padding:0 16px;border:1px solid #E7DFD3;border-radius:12px;background:#fff;font-size:15px;font-weight:500;color:#1F1B16;cursor:pointer;font-family:inherit;width:100%;box-sizing:border-box;text-align:left}
.ncsd-pc .sd-opt.sd-on{border:2px solid #1F1B16}
.ncsd-pc .sd-faq{border-bottom:1px solid #E7DFD3;padding:18px 0;display:flex;flex-direction:column;gap:10px}
.ncsd-pc .sd-faq .sd-q{display:flex;justify-content:space-between;align-items:center;font-size:17px;font-weight:700}
.ncsd-pc .sd-ringwrap{position:relative;flex:none}
.ncsd-pc .sd-ringnum{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1}
.ncsd-pc .sd-ring path[style]{transform-box:view-box;transform-origin:100px 100px;opacity:0;animation:sd-seg .55s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i)*40ms + .15s)}
@keyframes sd-seg{from{opacity:0;transform:scale(.82) rotate(-6deg)}to{opacity:1;transform:none}}
.ncsd-pc .sd-scard .sd-ring,.ncsd-pc .sd-lcard .sd-ring{transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.ncsd-pc .sd-scard:hover .sd-ring,.ncsd-pc .sd-lcard:hover .sd-ring{transform:rotate(15deg)}
.ncsd-pc .sd-scard{transition:transform .3s ease,box-shadow .3s ease}
.ncsd-pc .sd-scard:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(31,27,22,.12)}
@property --n{syntax:'<integer>';initial-value:0;inherits:false}
.ncsd-pc .sd-count{--n:0;counter-reset:n var(--n);animation:sd-count 1.4s cubic-bezier(.2,.8,.2,1) .2s forwards;font-weight:600;line-height:1}
.ncsd-pc .sd-count::after{content:counter(n)}
@keyframes sd-count{to{--n:var(--to)}}
.ncsd-pc .sd-bar{display:block;height:6px;border-radius:99px;background:#EFE8DC;overflow:hidden}
.ncsd-pc .sd-bar>span{display:block;height:100%;border-radius:99px;transform-origin:left;transform:scaleX(0);animation:sd-bar .9s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i)*70ms + .3s)}
@keyframes sd-bar{to{transform:scaleX(1)}}
.ncsd-pc .sd-hcard{background:linear-gradient(180deg,#EAF6F3 0%,#FFFFFF 42%);border-color:#A9DCD3;overflow:hidden}
.ncsd-pc .sd-hcard::after{content:"";position:absolute;top:0;left:0;width:60%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:translateX(-160%) skewX(-12deg);animation:sd-shine 6s ease-in-out infinite;pointer-events:none}
.ncsd-pc .sd-hcard:nth-child(2)::after{animation-delay:.6s}
.ncsd-pc .sd-hcard:nth-child(3)::after{animation-delay:1.2s}
@keyframes sd-shine{0%,70%{transform:translateX(-160%) skewX(-12deg)}100%{transform:translateX(260%) skewX(-12deg)}}
.ncsd-pc .sd-hcard:hover{box-shadow:0 14px 32px rgba(11,127,140,.18)}
.ncsd-pc .sd-rk{align-self:stretch;display:flex;align-items:baseline;gap:10px;padding-bottom:10px;border-bottom:1px solid rgba(11,127,140,.22);margin-bottom:2px}
.ncsd-pc .sd-rk-n{font-size:44px;line-height:.9;font-style:italic;-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.02em}
.ncsd-pc .sd-rk-l{font-size:11px;font-weight:700;letter-spacing:.14em;color:#6E665C}
.ncsd-pc .sd-hph{position:relative;align-self:stretch;margin:0 -22px;height:230px;overflow:hidden;background:#0C2B34}
.ncsd-pc .sd-hph img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.03);transition:transform 1.4s cubic-bezier(.2,.8,.2,1)}
.ncsd-pc .sd-hcard:hover .sd-hph img{transform:scale(1.1)}
.ncsd-pc .sd-hph::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 0% 0%,rgba(12,43,52,.55),rgba(12,43,52,0) 55%),linear-gradient(180deg,rgba(12,43,52,.45) 0%,rgba(12,43,52,0) 40%,rgba(12,43,52,0) 62%,rgba(12,43,52,.35) 100%);pointer-events:none}
.ncsd-pc .sd-hph .sd-rk{position:absolute;left:14px;top:14px;z-index:1;border:0;margin:0;align-items:center;padding:6px 14px 8px 12px;border-radius:14px;background:rgba(12,43,52,.58);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ncsd-pc .sd-hph .sd-rk-n{font-size:46px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.45))}
.ncsd-pc .sd-hph .sd-rk-l{color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.5)}
.ncsd-pc .sd-hph .sd-harea{position:absolute;right:14px;top:16px;z-index:1;font-size:11px;font-weight:700;color:#fff;background:rgba(12,43,52,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:5px 9px;border-radius:999px;letter-spacing:.04em}
.ncsd-pc .sd-ringlift{margin-top:-96px;z-index:2;border-radius:50%;background:#fff;box-shadow:0 0 0 7px #fff,0 16px 34px rgba(12,43,52,.28)}
.ncsd-pc .sd-lph{grid-column:1/-1;position:relative;margin:-16px -16px 0;height:128px;overflow:hidden}
.ncsd-pc .sd-lph img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.8);transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.ncsd-pc .sd-lcard:hover .sd-lph img{transform:scale(1.07)}
.ncsd-pc .sd-lph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(199,54,47,0) 45%,rgba(199,54,47,.28) 100%)}
.ncsd-pc .sd-lcard{overflow:hidden}
.ncsd-pc .sd-flag{display:inline-block;width:30px;height:20px;border-radius:4px;overflow:hidden;box-shadow:0 0 0 1px rgba(31,27,22,.12),0 2px 6px rgba(0,0,0,.18);flex:none;vertical-align:middle}
.ncsd-pc .sd-flag svg{display:block;width:100%;height:100%}
.ncsd-pc .sd-flight{position:absolute;left:48px;right:48px;top:22px;height:40px;display:flex;align-items:center;gap:16px;color:#FAF6EF}
.ncsd-pc .sd-fl-end{display:flex;align-items:center;gap:10px;white-space:nowrap}
.ncsd-pc .sd-fl-end b{font-family:'Fraunces',serif;font-weight:600;font-size:20px;letter-spacing:.04em;line-height:1}
.ncsd-pc .sd-fl-end small{font-size:12px;color:rgba(250,246,239,.62)}
.ncsd-pc .sd-fl-track{position:relative;flex:1;height:40px;overflow:hidden}
.ncsd-pc .sd-fl-track::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1.5px dashed rgba(124,199,208,.45)}
.ncsd-pc .sd-fl-note{position:absolute;left:50%;top:-1px;transform:translateX(-50%);font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.08em;color:#7CC7D0;background:#0C2B34;padding:0 12px;white-space:nowrap}
.ncsd-pc .sd-fl-run{position:absolute;left:0;top:0;width:100%;height:40px;transform:translate3d(-100%,0,0);animation:sd-fly 9s cubic-bezier(.45,.05,.35,1) infinite}
.ncsd-pc .sd-fl-run::before{content:"";position:absolute;right:34px;top:calc(50% - 1.5px);width:46%;height:3px;border-radius:2px;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.85))}
.ncsd-pc .sd-fl-plane{position:absolute;right:0;top:1px;width:38px;height:38px;color:#FFD23F;filter:drop-shadow(0 3px 6px rgba(0,0,0,.35));animation:sd-bob 1.8s ease-in-out infinite}
@keyframes sd-fly{0%{transform:translate3d(-100%,0,0);opacity:0}6%{opacity:1}82%{transform:translate3d(0,0,0);opacity:1}92%,100%{transform:translate3d(0,0,0);opacity:0}}
@keyframes sd-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.ncsd-pc .sd-fl-dot{width:8px;height:8px;border-radius:50%;background:#FFD23F;box-shadow:0 0 0 0 rgba(255,210,63,.6);animation:sd-ping 2.2s ease-out infinite}
@keyframes sd-ping{0%{box-shadow:0 0 0 0 rgba(255,210,63,.6)}80%,100%{box-shadow:0 0 0 12px rgba(255,210,63,0)}}
.ncsd-pc .sd-bp-route{position:relative;width:128px;height:56px}
.ncsd-pc .sd-bp-route svg.sd-arc{position:absolute;inset:0;width:128px;height:44px;overflow:visible}
.ncsd-pc .sd-bp-plane{position:absolute;left:0;top:0;width:24px;height:24px;color:#0B7F8C;offset-path:path('M6 38 Q64 -8 122 38');offset-rotate:auto;offset-distance:0%;animation:sd-bp 4.5s cubic-bezier(.45,.05,.35,1) infinite}
@keyframes sd-bp{0%{offset-distance:0%;opacity:0}8%{opacity:1}85%{offset-distance:100%;opacity:1}95%,100%{offset-distance:100%;opacity:0}}
.ncsd-pc .sd-bp-route span{position:absolute;left:0;right:0;bottom:0;text-align:center;font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.06em;color:#6E665C}
@media (prefers-reduced-motion:reduce){.ncsd-pc .sd-fl-run{animation:none;transform:translate3d(-50%,0,0)}.ncsd-pc .sd-fl-plane,.ncsd-pc .sd-fl-dot{animation:none}.ncsd-pc .sd-bp-plane{animation:none;offset-distance:50%}}
.ncsd-pc .sd-sky{position:absolute;left:0;top:70px;width:720px;height:640px;overflow:hidden;pointer-events:none}
.ncsd-pc .sd-sky-run{position:absolute;left:-40px;top:560px;width:900px;height:90px;transform-origin:0 50%;transform:rotate(-24deg) translate3d(-100%,0,0);animation:sd-sky 14s cubic-bezier(.4,.1,.4,1) infinite 1.5s;opacity:0}
.ncsd-pc .sd-sky-run::before{content:"";position:absolute;right:84px;top:calc(50% - 2px);width:60%;height:4px;border-radius:4px;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.22))}
.ncsd-pc .sd-sky-run svg{position:absolute;right:0;top:0;width:90px;height:90px;color:rgba(255,255,255,.2)}
@keyframes sd-sky{0%{transform:rotate(-24deg) translate3d(-100%,0,0);opacity:0}8%{opacity:1}70%{transform:rotate(-24deg) translate3d(10%,0,0);opacity:1}80%,100%{transform:rotate(-24deg) translate3d(10%,0,0);opacity:0}}
@media (prefers-reduced-motion:reduce){.ncsd-pc .sd-sky{display:none}}
.ncsd-pc .sd-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0}
.ncsd-pc .sd-st{display:flex;flex-direction:column;gap:3px;padding:0 18px;border-left:1px solid rgba(255,255,255,.12)}
.ncsd-pc .sd-st:first-child{padding-left:0;border-left:0}
.ncsd-pc .sd-st-n{font-size:40px;line-height:1;color:#FAF6EF;display:flex;align-items:baseline;gap:6px}
.ncsd-pc .sd-st-n .sd-count{font-weight:600;animation-duration:1.8s;animation-delay:calc(var(--i)*.12s + .3s)}
.ncsd-pc .sd-st-n small{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:500;font-size:15px;color:#FFD23F}
.ncsd-pc .sd-st-l{font-size:13px;font-weight:700;color:rgba(250,246,239,.88)}
.ncsd-pc .sd-st-s{font-size:11px;color:rgba(250,246,239,.5)}
.ncsd-pc .sd-goodtag{position:absolute;right:14px;top:14px;display:inline-block;background:#0B7F8C;color:#fff;font-weight:700;font-size:11px;line-height:1;padding:6px 9px;border-radius:6px}
@media (prefers-reduced-motion:reduce){.ncsd-pc .sd-hcard::after{animation:none;display:none}}
.ncsd-pc .sd-seg{display:inline-flex;padding:4px;border-radius:999px;background:#EFE8DC;gap:2px}
.ncsd-pc .sd-seg button{border:0;background:transparent;font-family:inherit;font-size:13px;font-weight:500;color:#6E665C;padding:0 16px;height:34px;border-radius:999px;cursor:pointer;transition:background .2s,color .2s}
.ncsd-pc .sd-seg button:hover{color:#1F1B16}
.ncsd-pc .sd-seg button.sd-on{background:#fff;color:#1F1B16;font-weight:700;box-shadow:0 1px 3px rgba(31,27,22,.14)}
.ncsd-pc .sd-lcard{border-color:#EFC7C2;background:#FFF8F6;transition:transform .3s ease}
.ncsd-pc .sd-lcard:hover{transform:translateY(-3px)}
.ncsd-pc .sd-redtag{display:inline-block;align-self:flex-start;background:#C7362F;color:#fff;font-weight:700;font-size:11px;line-height:1;padding:6px 9px;border-radius:6px}
.ncsd-pc .sd-drow{position:relative;margin-bottom:34px}
.ncsd-pc .sd-dhead{display:flex;align-items:baseline;gap:12px;margin-bottom:26px}
.ncsd-pc .sd-dhead-l{font-family:'Shippori Mincho B1',serif;font-size:18px;font-weight:500}
.ncsd-pc .sd-dline{position:relative;height:18px;margin:0 0 -2px}
.ncsd-pc .sd-dsky{position:absolute;left:0;right:0;top:0;height:18px;border-radius:9px;opacity:.55}
.ncsd-pc .sd-am .sd-dsky{background:linear-gradient(90deg,#FFE7BF,#DDF0F2 40%,#CBE8EE)}
.ncsd-pc .sd-pm .sd-dsky{background:linear-gradient(90deg,#FFE7B0,#FFB183 40%,#6C5A8E 70%,#1E3552)}
.ncsd-pc .sd-dtrack{position:absolute;left:24px;right:24px;top:7px;height:4px;border-radius:4px;background:#E7DFD3;overflow:hidden}
.ncsd-pc .sd-dfill{position:absolute;inset:0;transform:translateX(-100%)}
.ncsd-pc .sd-am .sd-dfill{background:linear-gradient(90deg,#9BC36A,#0B7F8C 30%,#35A396);animation:sd-am 16s linear infinite}
.ncsd-pc .sd-pm .sd-dfill{background:linear-gradient(90deg,#FF7A1A,#E0573F 50%,#1E3552);animation:sd-pm 16s linear infinite}
.ncsd-pc .sd-dnow{position:absolute;right:-9px;top:-7px;width:18px;height:18px}
.ncsd-pc .sd-dnow svg{width:18px;height:18px;display:block}
@keyframes sd-am{0%{transform:translateX(-100%)}45%{transform:translateX(0)}100%{transform:translateX(0)}}
@keyframes sd-pm{0%,50%{transform:translateX(-100%)}95%{transform:translateX(0)}100%{transform:translateX(0)}}
.ncsd-pc .sd-dgap{position:absolute;top:-18px;transform:translateX(-50%);font-family:'DM Mono',monospace;font-size:11px;color:#6E665C;background:#FAF6EF;padding:1px 6px;border-radius:4px;white-space:nowrap}
.ncsd-pc .sd-dcols{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px;position:relative;margin-top:-30px}
.ncsd-pc .sd-dcol{display:flex;flex-direction:column;align-items:center;animation:sd-in .6s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc(var(--d)*110ms + .15s)}
.ncsd-pc .sd-dclock{display:flex;align-items:center;gap:6px;position:relative;z-index:2}
.ncsd-pc .sd-dclock svg{filter:drop-shadow(0 2px 4px rgba(31,27,22,.2))}
.ncsd-pc .sd-dtime{font-size:20px;line-height:1}
.ncsd-pc .sd-dtag{font-size:10px;font-weight:700;color:#fff;padding:3px 7px;border-radius:5px;white-space:nowrap}
.ncsd-pc .sd-dstem{width:0;height:14px;border-left:1.5px dashed #C9BFB0}
.ncsd-pc .sd-dpol{width:100%;box-sizing:border-box;padding:10px 10px 14px;transition:transform .3s ease}
.ncsd-pc .sd-dcol:hover .sd-dpol{transform:rotate(0) translateY(-5px) scale(1.03)!important}
.ncsd-pc .sd-dcol .sd-hand-m{transform-origin:20px 20px;transform-box:view-box;animation:sd-spin 1.2s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc(var(--d)*110ms + .15s)}
@keyframes sd-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes sd-spin{from{transform:rotate(-360deg)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.ncsd-pc .sd-dcol,.ncsd-pc .sd-dcol .sd-hand-m{animation:none}.ncsd-pc .sd-dfill{animation:none;transform:none}}
@media (prefers-reduced-motion:reduce){.ncsd-pc .sd-ring path[style],.ncsd-pc .sd-bar>span{animation:none;opacity:1;transform:none}.ncsd-pc .sd-count{animation:none;--n:var(--to)}}
.ncsd-sp{margin:0;background:#FAF6EF none;color:#1F1B16;font-family:'Zen Kaku Gothic New',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.ncsd-sp a{color:#0B7F8C;text-decoration:none}
.ncsd-sp a:hover{color:#08606A}
.ncsd-sp h1,.ncsd-sp h2,.ncsd-sp h3,.ncsd-sp p,.ncsd-sp ul{margin:0}
.ncsd-sp ul{padding:0;list-style:none}
.ncsd-sp .sd-serif{font-family:'Shippori Mincho B1',serif;font-weight:500}
.ncsd-sp .sd-fr{font-family:'Fraunces',serif;font-weight:600;font-optical-sizing:auto}
.ncsd-sp .sd-mono{font-family:'DM Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#0B7F8C;font-weight:500}
.ncsd-sp .sd-btn{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 22px;border-radius:12px;font-weight:700;font-size:15px;border:0;cursor:pointer;font-family:inherit;white-space:nowrap;gap:8px}
.ncsd-sp .sd-mango{background:#FF7A1A;color:#1F1B16}
.ncsd-sp .sd-ghost{background:transparent;color:#1F1B16;border:1.5px solid #1F1B16}
.ncsd-sp .sd-paper{background:#fff;color:#1F1B16;border:1px solid #E7DFD3}
.ncsd-sp .sd-onink{background:#FAF6EF;color:#1F1B16}
.ncsd-sp .sd-chip{display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:999px;border:1px solid #E7DFD3;background:#fff;font-size:13px;font-weight:500;color:#1F1B16;white-space:nowrap}
.ncsd-sp .sd-chip.sd-on{background:#1F1B16;color:#fff;border-color:#1F1B16}
.ncsd-sp .sd-chip.sd-dark{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);color:#FAF6EF}
.ncsd-sp .sd-card{background:#fff;border:1px solid #E7DFD3;border-radius:20px}
.ncsd-sp .sd-ph{object-fit:cover;display:block;border-radius:16px}
.ncsd-sp .sd-sticker{display:inline-block;background:#FFD23F;color:#1F1B16;font-weight:700;font-size:12px;line-height:1;padding:7px 10px;border-radius:6px;transform:rotate(-2deg)}
.ncsd-sp .sd-hl{box-shadow:inset 0 -.42em 0 #FFD23F}
.ncsd-sp .sd-muted{color:#6E665C}
.ncsd-sp .sd-lead{font-size:17px;line-height:1.9}
.ncsd-sp .sd-polaroid{background:#fff;padding:10px 10px 30px;border:1px solid #E7DFD3;border-radius:6px}
.ncsd-sp .sd-ico{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ncsd-sp .sd-h2{font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:34px;line-height:1.3;letter-spacing:.02em}
.ncsd-sp .sd-h3{font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:22px;line-height:1.35}
.ncsd-sp .sd-nav a{color:#1F1B16;font-size:15px;font-weight:500}
.ncsd-sp .sd-foot a{color:#E7DFD3;font-size:14px}
.ncsd-sp .sd-rank{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid #E7DFD3;color:#1F1B16}
.ncsd-sp .sd-rank .sd-n{font-family:'Fraunces',serif;font-weight:600;font-size:18px;color:#0B7F8C;width:24px}
.ncsd-sp .sd-rank img{width:56px;height:40px;object-fit:cover;border-radius:8px;border:1px solid #E7DFD3}
.ncsd-sp .sd-rank .sd-s{font-family:'Fraunces',serif;font-weight:600;font-size:16px;margin-left:auto}
.ncsd-sp .sd-opt{display:flex;align-items:center;gap:12px;height:52px;padding:0 16px;border:1px solid #E7DFD3;border-radius:12px;background:#fff;font-size:15px;font-weight:500;color:#1F1B16;cursor:pointer;font-family:inherit;width:100%;box-sizing:border-box;text-align:left}
.ncsd-sp .sd-opt.sd-on{border:2px solid #1F1B16}
.ncsd-sp .sd-faq{border-bottom:1px solid #E7DFD3;padding:18px 0;display:flex;flex-direction:column;gap:10px}
.ncsd-sp .sd-faq .sd-q{display:flex;justify-content:space-between;align-items:center;font-size:17px;font-weight:700}
.ncsd-sp .sd-ringwrap{position:relative;flex:none}
.ncsd-sp .sd-ringnum{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1}
.ncsd-sp .sd-ring path[style]{transform-box:view-box;transform-origin:100px 100px;opacity:0;animation:sd-seg .55s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i)*40ms + .15s)}
@keyframes sd-seg{from{opacity:0;transform:scale(.82) rotate(-6deg)}to{opacity:1;transform:none}}
.ncsd-sp .sd-scard .sd-ring,.ncsd-sp .sd-lcard .sd-ring{transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.ncsd-sp .sd-scard:hover .sd-ring,.ncsd-sp .sd-lcard:hover .sd-ring{transform:rotate(15deg)}
.ncsd-sp .sd-scard{transition:transform .3s ease,box-shadow .3s ease}
.ncsd-sp .sd-scard:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(31,27,22,.12)}
@property --n{syntax:'<integer>';initial-value:0;inherits:false}
.ncsd-sp .sd-count{--n:0;counter-reset:n var(--n);animation:sd-count 1.4s cubic-bezier(.2,.8,.2,1) .2s forwards;font-weight:600;line-height:1}
.ncsd-sp .sd-count::after{content:counter(n)}
@keyframes sd-count{to{--n:var(--to)}}
.ncsd-sp .sd-bar{display:block;height:6px;border-radius:99px;background:#EFE8DC;overflow:hidden}
.ncsd-sp .sd-bar>span{display:block;height:100%;border-radius:99px;transform-origin:left;transform:scaleX(0);animation:sd-bar .9s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i)*70ms + .3s)}
@keyframes sd-bar{to{transform:scaleX(1)}}
.ncsd-sp .sd-hcard{background:linear-gradient(180deg,#EAF6F3 0%,#FFFFFF 42%);border-color:#A9DCD3;overflow:hidden}
.ncsd-sp .sd-hcard::after{content:"";position:absolute;top:0;left:0;width:60%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:translateX(-160%) skewX(-12deg);animation:sd-shine 6s ease-in-out infinite;pointer-events:none}
.ncsd-sp .sd-hcard:nth-child(2)::after{animation-delay:.6s}
.ncsd-sp .sd-hcard:nth-child(3)::after{animation-delay:1.2s}
@keyframes sd-shine{0%,70%{transform:translateX(-160%) skewX(-12deg)}100%{transform:translateX(260%) skewX(-12deg)}}
.ncsd-sp .sd-hcard:hover{box-shadow:0 14px 32px rgba(11,127,140,.18)}
.ncsd-sp .sd-rk{align-self:stretch;display:flex;align-items:baseline;gap:10px;padding-bottom:10px;border-bottom:1px solid rgba(11,127,140,.22);margin-bottom:2px}
.ncsd-sp .sd-rk-n{font-size:44px;line-height:.9;font-style:italic;-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.02em}
.ncsd-sp .sd-rk-l{font-size:11px;font-weight:700;letter-spacing:.14em;color:#6E665C}
.ncsd-sp .sd-hph{position:relative;align-self:stretch;margin:0 -22px;height:230px;overflow:hidden;background:#0C2B34}
.ncsd-sp .sd-hph img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.03);transition:transform 1.4s cubic-bezier(.2,.8,.2,1)}
.ncsd-sp .sd-hcard:hover .sd-hph img{transform:scale(1.1)}
.ncsd-sp .sd-hph::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 0% 0%,rgba(12,43,52,.55),rgba(12,43,52,0) 55%),linear-gradient(180deg,rgba(12,43,52,.45) 0%,rgba(12,43,52,0) 40%,rgba(12,43,52,0) 62%,rgba(12,43,52,.35) 100%);pointer-events:none}
.ncsd-sp .sd-hph .sd-rk{position:absolute;left:14px;top:14px;z-index:1;border:0;margin:0;align-items:center;padding:6px 14px 8px 12px;border-radius:14px;background:rgba(12,43,52,.58);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ncsd-sp .sd-hph .sd-rk-n{font-size:46px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.45))}
.ncsd-sp .sd-hph .sd-rk-l{color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.5)}
.ncsd-sp .sd-hph .sd-harea{position:absolute;right:14px;top:16px;z-index:1;font-size:11px;font-weight:700;color:#fff;background:rgba(12,43,52,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:5px 9px;border-radius:999px;letter-spacing:.04em}
.ncsd-sp .sd-ringlift{margin-top:-96px;z-index:2;border-radius:50%;background:#fff;box-shadow:0 0 0 7px #fff,0 16px 34px rgba(12,43,52,.28)}
.ncsd-sp .sd-lph{grid-column:1/-1;position:relative;margin:-16px -16px 0;height:128px;overflow:hidden}
.ncsd-sp .sd-lph img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.8);transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.ncsd-sp .sd-lcard:hover .sd-lph img{transform:scale(1.07)}
.ncsd-sp .sd-lph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(199,54,47,0) 45%,rgba(199,54,47,.28) 100%)}
.ncsd-sp .sd-lcard{overflow:hidden}
.ncsd-sp .sd-flag{display:inline-block;width:30px;height:20px;border-radius:4px;overflow:hidden;box-shadow:0 0 0 1px rgba(31,27,22,.12),0 2px 6px rgba(0,0,0,.18);flex:none;vertical-align:middle}
.ncsd-sp .sd-flag svg{display:block;width:100%;height:100%}
.ncsd-sp .sd-flight{position:absolute;left:48px;right:48px;top:22px;height:40px;display:flex;align-items:center;gap:16px;color:#FAF6EF}
.ncsd-sp .sd-fl-end{display:flex;align-items:center;gap:10px;white-space:nowrap}
.ncsd-sp .sd-fl-end b{font-family:'Fraunces',serif;font-weight:600;font-size:20px;letter-spacing:.04em;line-height:1}
.ncsd-sp .sd-fl-end small{font-size:12px;color:rgba(250,246,239,.62)}
.ncsd-sp .sd-fl-track{position:relative;flex:1;height:40px;overflow:hidden}
.ncsd-sp .sd-fl-track::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1.5px dashed rgba(124,199,208,.45)}
.ncsd-sp .sd-fl-note{position:absolute;left:50%;top:-1px;transform:translateX(-50%);font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.08em;color:#7CC7D0;background:#0C2B34;padding:0 12px;white-space:nowrap}
.ncsd-sp .sd-fl-run{position:absolute;left:0;top:0;width:100%;height:40px;transform:translate3d(-100%,0,0);animation:sd-fly 9s cubic-bezier(.45,.05,.35,1) infinite}
.ncsd-sp .sd-fl-run::before{content:"";position:absolute;right:34px;top:calc(50% - 1.5px);width:46%;height:3px;border-radius:2px;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.85))}
.ncsd-sp .sd-fl-plane{position:absolute;right:0;top:1px;width:38px;height:38px;color:#FFD23F;filter:drop-shadow(0 3px 6px rgba(0,0,0,.35));animation:sd-bob 1.8s ease-in-out infinite}
@keyframes sd-fly{0%{transform:translate3d(-100%,0,0);opacity:0}6%{opacity:1}82%{transform:translate3d(0,0,0);opacity:1}92%,100%{transform:translate3d(0,0,0);opacity:0}}
@keyframes sd-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.ncsd-sp .sd-fl-dot{width:8px;height:8px;border-radius:50%;background:#FFD23F;box-shadow:0 0 0 0 rgba(255,210,63,.6);animation:sd-ping 2.2s ease-out infinite}
@keyframes sd-ping{0%{box-shadow:0 0 0 0 rgba(255,210,63,.6)}80%,100%{box-shadow:0 0 0 12px rgba(255,210,63,0)}}
.ncsd-sp .sd-bp-route{position:relative;width:128px;height:56px}
.ncsd-sp .sd-bp-route svg.sd-arc{position:absolute;inset:0;width:128px;height:44px;overflow:visible}
.ncsd-sp .sd-bp-plane{position:absolute;left:0;top:0;width:24px;height:24px;color:#0B7F8C;offset-path:path('M6 38 Q64 -8 122 38');offset-rotate:auto;offset-distance:0%;animation:sd-bp 4.5s cubic-bezier(.45,.05,.35,1) infinite}
@keyframes sd-bp{0%{offset-distance:0%;opacity:0}8%{opacity:1}85%{offset-distance:100%;opacity:1}95%,100%{offset-distance:100%;opacity:0}}
.ncsd-sp .sd-bp-route span{position:absolute;left:0;right:0;bottom:0;text-align:center;font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.06em;color:#6E665C}
@media (prefers-reduced-motion:reduce){.ncsd-sp .sd-fl-run{animation:none;transform:translate3d(-50%,0,0)}.ncsd-sp .sd-fl-plane,.ncsd-sp .sd-fl-dot{animation:none}.ncsd-sp .sd-bp-plane{animation:none;offset-distance:50%}}
.ncsd-sp .sd-sky{position:absolute;left:0;top:70px;width:720px;height:640px;overflow:hidden;pointer-events:none}
.ncsd-sp .sd-sky-run{position:absolute;left:-40px;top:560px;width:900px;height:90px;transform-origin:0 50%;transform:rotate(-24deg) translate3d(-100%,0,0);animation:sd-sky 14s cubic-bezier(.4,.1,.4,1) infinite 1.5s;opacity:0}
.ncsd-sp .sd-sky-run::before{content:"";position:absolute;right:84px;top:calc(50% - 2px);width:60%;height:4px;border-radius:4px;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.22))}
.ncsd-sp .sd-sky-run svg{position:absolute;right:0;top:0;width:90px;height:90px;color:rgba(255,255,255,.2)}
@keyframes sd-sky{0%{transform:rotate(-24deg) translate3d(-100%,0,0);opacity:0}8%{opacity:1}70%{transform:rotate(-24deg) translate3d(10%,0,0);opacity:1}80%,100%{transform:rotate(-24deg) translate3d(10%,0,0);opacity:0}}
@media (prefers-reduced-motion:reduce){.ncsd-sp .sd-sky{display:none}}
.ncsd-sp .sd-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0}
.ncsd-sp .sd-st{display:flex;flex-direction:column;gap:3px;padding:0 18px;border-left:1px solid rgba(255,255,255,.12)}
.ncsd-sp .sd-st:first-child{padding-left:0;border-left:0}
.ncsd-sp .sd-st-n{font-size:40px;line-height:1;color:#FAF6EF;display:flex;align-items:baseline;gap:6px}
.ncsd-sp .sd-st-n .sd-count{font-weight:600;animation-duration:1.8s;animation-delay:calc(var(--i)*.12s + .3s)}
.ncsd-sp .sd-st-n small{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:500;font-size:15px;color:#FFD23F}
.ncsd-sp .sd-st-l{font-size:13px;font-weight:700;color:rgba(250,246,239,.88)}
.ncsd-sp .sd-st-s{font-size:11px;color:rgba(250,246,239,.5)}
.ncsd-sp .sd-goodtag{position:absolute;right:14px;top:14px;display:inline-block;background:#0B7F8C;color:#fff;font-weight:700;font-size:11px;line-height:1;padding:6px 9px;border-radius:6px}
@media (prefers-reduced-motion:reduce){.ncsd-sp .sd-hcard::after{animation:none;display:none}}
.ncsd-sp .sd-seg{display:inline-flex;padding:4px;border-radius:999px;background:#EFE8DC;gap:2px}
.ncsd-sp .sd-seg button{border:0;background:transparent;font-family:inherit;font-size:13px;font-weight:500;color:#6E665C;padding:0 16px;height:34px;border-radius:999px;cursor:pointer;transition:background .2s,color .2s}
.ncsd-sp .sd-seg button:hover{color:#1F1B16}
.ncsd-sp .sd-seg button.sd-on{background:#fff;color:#1F1B16;font-weight:700;box-shadow:0 1px 3px rgba(31,27,22,.14)}
.ncsd-sp .sd-lcard{border-color:#EFC7C2;background:#FFF8F6;transition:transform .3s ease}
.ncsd-sp .sd-lcard:hover{transform:translateY(-3px)}
.ncsd-sp .sd-redtag{display:inline-block;align-self:flex-start;background:#C7362F;color:#fff;font-weight:700;font-size:11px;line-height:1;padding:6px 9px;border-radius:6px}
.ncsd-sp .sd-drow{position:relative;margin-bottom:34px}
.ncsd-sp .sd-dhead{display:flex;align-items:baseline;gap:12px;margin-bottom:26px}
.ncsd-sp .sd-dhead-l{font-family:'Shippori Mincho B1',serif;font-size:18px;font-weight:500}
.ncsd-sp .sd-dline{position:relative;height:18px;margin:0 0 -2px}
.ncsd-sp .sd-dsky{position:absolute;left:0;right:0;top:0;height:18px;border-radius:9px;opacity:.55}
.ncsd-sp .sd-am .sd-dsky{background:linear-gradient(90deg,#FFE7BF,#DDF0F2 40%,#CBE8EE)}
.ncsd-sp .sd-pm .sd-dsky{background:linear-gradient(90deg,#FFE7B0,#FFB183 40%,#6C5A8E 70%,#1E3552)}
.ncsd-sp .sd-dtrack{position:absolute;left:24px;right:24px;top:7px;height:4px;border-radius:4px;background:#E7DFD3;overflow:hidden}
.ncsd-sp .sd-dfill{position:absolute;inset:0;transform:translateX(-100%)}
.ncsd-sp .sd-am .sd-dfill{background:linear-gradient(90deg,#9BC36A,#0B7F8C 30%,#35A396);animation:sd-am 16s linear infinite}
.ncsd-sp .sd-pm .sd-dfill{background:linear-gradient(90deg,#FF7A1A,#E0573F 50%,#1E3552);animation:sd-pm 16s linear infinite}
.ncsd-sp .sd-dnow{position:absolute;right:-9px;top:-7px;width:18px;height:18px}
.ncsd-sp .sd-dnow svg{width:18px;height:18px;display:block}
@keyframes sd-am{0%{transform:translateX(-100%)}45%{transform:translateX(0)}100%{transform:translateX(0)}}
@keyframes sd-pm{0%,50%{transform:translateX(-100%)}95%{transform:translateX(0)}100%{transform:translateX(0)}}
.ncsd-sp .sd-dgap{position:absolute;top:-18px;transform:translateX(-50%);font-family:'DM Mono',monospace;font-size:11px;color:#6E665C;background:#FAF6EF;padding:1px 6px;border-radius:4px;white-space:nowrap}
.ncsd-sp .sd-dcols{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px;position:relative;margin-top:-30px}
.ncsd-sp .sd-dcol{display:flex;flex-direction:column;align-items:center;animation:sd-in .6s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc(var(--d)*110ms + .15s)}
.ncsd-sp .sd-dclock{display:flex;align-items:center;gap:6px;position:relative;z-index:2}
.ncsd-sp .sd-dclock svg{filter:drop-shadow(0 2px 4px rgba(31,27,22,.2))}
.ncsd-sp .sd-dtime{font-size:20px;line-height:1}
.ncsd-sp .sd-dtag{font-size:10px;font-weight:700;color:#fff;padding:3px 7px;border-radius:5px;white-space:nowrap}
.ncsd-sp .sd-dstem{width:0;height:14px;border-left:1.5px dashed #C9BFB0}
.ncsd-sp .sd-dpol{width:100%;box-sizing:border-box;padding:10px 10px 14px;transition:transform .3s ease}
.ncsd-sp .sd-dcol:hover .sd-dpol{transform:rotate(0) translateY(-5px) scale(1.03)!important}
.ncsd-sp .sd-dcol .sd-hand-m{transform-origin:20px 20px;transform-box:view-box;animation:sd-spin 1.2s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc(var(--d)*110ms + .15s)}
@keyframes sd-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes sd-spin{from{transform:rotate(-360deg)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.ncsd-sp .sd-dcol,.ncsd-sp .sd-dcol .sd-hand-m{animation:none}.ncsd-sp .sd-dfill{animation:none;transform:none}}
@media (prefers-reduced-motion:reduce){.ncsd-sp .sd-ring path[style],.ncsd-sp .sd-bar>span{animation:none;opacity:1;transform:none}.ncsd-sp .sd-count{animation:none;--n:var(--to)}}
.ncsd-sp /* ---- mobile overrides ---- */
.sd-mono{font-size:11px}
.ncsd-sp .sd-btn{height:48px;padding:0 18px;font-size:15px}
.ncsd-sp .sd-chip{height:32px;padding:0 12px;font-size:12px}
.ncsd-sp .sd-card{border-radius:16px}
.ncsd-sp .sd-sticker{font-size:11px;padding:6px 9px}
.ncsd-sp .sd-polaroid{padding:8px 8px 20px}
.ncsd-sp .sd-h2{font-size:24px;line-height:1.38}
.ncsd-sp .sd-h3{font-size:18px}
.ncsd-sp .sd-muted{color:#6E665C}
.ncsd-sp .sd-ico{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ncsd-sp .sd-tab{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;font-weight:500;color:#6E665C;flex:1;height:100%;justify-content:center}
.ncsd-sp .sd-msec{padding:32px 16px 0;display:flex;flex-direction:column;gap:12px}
.ncsd-sp .sd-mhead{display:flex;flex-direction:column;gap:8px}
.ncsd-sp .sd-hs{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -16px;padding:4px 16px 14px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.ncsd-sp .sd-hs::-webkit-scrollbar{display:none}
.ncsd-sp .sd-hs>*{scroll-snap-align:start;flex:none}
.ncsd-sp .sd-swipe{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:#6E665C}
.ncsd-sp .sd-swipe i{display:inline-block;width:18px;height:1.5px;background:currentColor;position:relative;animation:sd-nudge 1.6s ease-in-out infinite}
.ncsd-sp .sd-swipe i::after{content:"";position:absolute;right:-1px;top:-3px;width:6px;height:6px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg)}
@keyframes sd-nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
@media (prefers-reduced-motion:reduce){.ncsd-sp .sd-swipe i{animation:none}}
.ncsd-sp .sd-flight{position:static;left:auto;right:auto;top:auto;height:auto;display:flex;flex-direction:column;align-items:stretch;gap:6px}
.ncsd-sp .sd-segs .sd-seg button{white-space:nowrap;padding:0 12px}
.ncsd-sp .sd-flight .sd-fl-row{display:flex;align-items:center;gap:8px}
.ncsd-sp .sd-fl-end b{font-size:15px}
.ncsd-sp .sd-fl-end small{font-size:10px}
.ncsd-sp .sd-fl-track{height:34px}
.ncsd-sp .sd-fl-run{height:34px}
.ncsd-sp .sd-fl-plane{width:30px;height:30px;top:2px}
.ncsd-sp .sd-fl-note{position:static;transform:none;background:transparent;padding:0;align-self:center;font-size:10px}
.ncsd-sp .sd-flag{width:24px;height:16px}
.ncsd-sp .sd-bp-route{width:96px;height:50px}
.ncsd-sp .sd-bp-route svg.sd-arc{width:96px;height:38px}
.ncsd-sp .sd-bp-plane{width:20px;height:20px;offset-path:path('M5 32 Q48 -6 91 32')}
.ncsd-sp .sd-stats{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:16px}
.ncsd-sp .sd-st{padding:0 10px}
.ncsd-sp .sd-st:nth-child(3n+1){padding-left:0;border-left:0}
.ncsd-sp .sd-st-n{font-size:28px;gap:3px}
.ncsd-sp .sd-st-n small{font-size:11px}
.ncsd-sp .sd-st-l{font-size:11px;line-height:1.4}
.ncsd-sp .sd-st-s{font-size:9.5px}
.ncsd-sp .sd-pc{width:272px;padding:18px;display:flex;flex-direction:column;gap:10px;box-sizing:border-box}
.ncsd-sp .sd-pc img{width:44px!important;height:44px!important}
.ncsd-sp .sd-pc h3{font-size:18px}
.ncsd-sp .sd-pc p,.ncsd-sp .sd-pc ul,.ncsd-sp .sd-pc a{font-size:13px!important}
.ncsd-sp .sd-hcw{width:292px}
.ncsd-sp .sd-hcw .sd-hcard{height:100%;box-sizing:border-box}
.ncsd-sp .sd-hcw .sd-hph{height:190px}
.ncsd-sp .sd-hcw .sd-ringwrap,.ncsd-sp .sd-hcw .sd-ring{width:160px!important;height:160px!important}
.ncsd-sp .sd-hcw .sd-ringlift{margin-top:-80px}
.ncsd-sp .sd-hcw .sd-ringnum .sd-count{font-size:40px!important}
.ncsd-sp .sd-hcw h3{font-size:18px!important}
.ncsd-sp .sd-rlist .sd-rank{padding:10px 8px;gap:10px}
.ncsd-sp .sd-rlist .sd-rank img{width:48px;height:36px}
.ncsd-sp .sd-rlist .sd-rank span[style*="font-size:14px"]{font-size:13px!important}
.ncsd-sp .sd-lcard.sd-m{grid-template-columns:88px minmax(0,1fr)!important;gap:12px!important;padding:12px!important}
.ncsd-sp .sd-lcard.sd-m .sd-lph{margin:-12px -12px 0;height:104px}
.ncsd-sp .sd-lcard.sd-m .sd-ringwrap,.ncsd-sp .sd-lcard.sd-m .sd-ring{width:88px!important;height:88px!important}
.ncsd-sp .sd-lcard.sd-m .sd-ringnum .sd-count{font-size:20px!important}
.ncsd-sp .sd-segs{overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px}
.ncsd-sp .sd-segs::-webkit-scrollbar{display:none}
.ncsd-sp .sd-mtl{overflow-x:auto;margin:0 -16px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.ncsd-sp .sd-mtl::-webkit-scrollbar{display:none}
.ncsd-sp .sd-mtl-in{position:relative;width:max-content;padding:0 16px 10px}
.ncsd-sp .sd-mtl-sky{position:absolute;left:0;right:0;top:0;height:112px;background:linear-gradient(90deg,#FFF1C9 0%,#D7EEF3 30%,#CFE9F2 45%,#FFD9B8 58%,#F7A77A 66%,#3A5670 78%,#0C2B34 100%);border-radius:0}
.ncsd-sp .sd-mtl-line{position:absolute;left:16px;right:16px;top:74px;height:3px;border-radius:3px;background:rgba(31,27,22,.18)}
.ncsd-sp .sd-mtl-sun{position:absolute;left:16px;top:62px;width:26px;height:26px;border-radius:50%;background:#FFD23F;box-shadow:0 0 0 6px rgba(255,210,63,.3),0 0 18px rgba(255,160,40,.7);animation:sd-sunrun 22s linear infinite}
@keyframes sd-sunrun{from{transform:translateX(0)}to{transform:translateX(1880px)}}
.ncsd-sp .sd-mtl-cols{position:relative;display:flex}
.ncsd-sp .sd-mtl-col{width:188px;flex:none;display:flex;flex-direction:column;align-items:center;gap:0;position:relative}
.ncsd-sp .sd-mtl-clock{height:112px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;padding-top:10px;box-sizing:border-box}
.ncsd-sp .sd-mtl-clock svg{width:40px;height:40px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.18))}
.ncsd-sp .sd-mtl-clock .sd-mh{transform-box:view-box;transform-origin:20px 20px;animation:sd-hand 1.4s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--d)*.15s)}
@keyframes sd-hand{from{transform:rotate(calc(var(--a) - 360deg))}to{transform:rotate(var(--a))}}
.ncsd-sp .sd-mtl-time{font-family:'Fraunces',serif;font-weight:600;font-size:16px;line-height:1}
.ncsd-sp .sd-mtl-gap{position:absolute;top:84px;left:calc(100% - 40px);width:80px;text-align:center;font-size:10px;font-weight:700;color:#3E3830;z-index:2}
.ncsd-sp .sd-mtl-gap span{background:rgba(255,255,255,.85);padding:2px 6px;border-radius:999px}
.ncsd-sp .sd-mtl-tag{display:inline-block;font-size:10px;font-weight:700;color:#fff;padding:3px 8px;border-radius:999px;margin-top:10px}
.ncsd-sp .sd-mtl-pol{width:160px;margin-top:10px}
.ncsd-sp .sd-mtl-pol img{width:160px;height:130px;object-fit:cover;display:block}
@media (prefers-reduced-motion:reduce){.ncsd-sp .sd-mtl-sun,.ncsd-sp .sd-mtl-clock .sd-mh{animation:none}.ncsd-sp .sd-mtl-clock .sd-mh{transform:rotate(var(--a))}}
.ncsd-sp .sd-mfaq{border-bottom:1px solid #E7DFD3;padding:14px 0;display:flex;flex-direction:column;gap:8px}
.ncsd-sp .sd-mfaq .sd-q{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:700;gap:10px}
.ncsd-sp .sd-mopt{display:flex;align-items:center;gap:10px;height:46px;padding:0 14px;border:1px solid #E7DFD3;border-radius:12px;background:#fff;font-size:14px;font-weight:500;color:#1F1B16}
.ncsd-sp .sd-mopt.sd-on{border:2px solid #1F1B16}
/* 目的別ランキングのカード（画面幅 1024px 前後）：学校名の行が枠より広く、ページ全体が横に少しずれていた（元の表示でも）。v0.8.11 */
body.ncrd-study .purpose-card .p-top3 { grid-template-columns: minmax(0, 1fr); }
body.ncrd-study .purpose-card .p-top3 li { min-width: 0; }
body.ncrd-study .purpose-card .p-top3 li > a { min-width: 0; white-space: normal; }

/* データを読み込む間の表示（「見つかりません」の代わり）v0.8.12 */
body.ncrd-study .detail-hero.ncsd-wait h2::after { content: ""; display: block; width: 72px; height: 3px; margin-top: 16px; border-radius: 3px; background: linear-gradient(90deg, #0B7F8C, #FF7A1A); animation: ncsd-wait 1.2s ease-in-out infinite; }
@keyframes ncsd-wait { 0%, 100% { opacity: .3; transform: scaleX(.6); transform-origin: left; } 50% { opacity: 1; transform: scaleX(1); transform-origin: left; } }
@media (prefers-reduced-motion: reduce) { body.ncrd-study .detail-hero.ncsd-wait h2::after { animation: none; } }
