:root{--bg:#f4f7fc;--card:#fff;--ink:#14213b;--muted:#5d6b81;--line:#d9e3f0;--accent:#075fba;--accent-weak:#e7f3ff;--accent-line:#9cc7f2}
html{scroll-behavior:smooth}
body{background:radial-gradient(circle at 8% 2%,#e1f4ff 0,transparent 26%),radial-gradient(circle at 96% 9%,#e9efff 0,transparent 22%),#f4f7fc;color:var(--ink)}
body,button,input,select,textarea{font-family:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
button,a,input{touch-action:manipulation}
:focus-visible{outline:3px solid #ffce48!important;outline-offset:3px}
.yn-sitebar{position:relative;z-index:6;background:#0c2454;color:white;border-bottom:4px solid #ffd42e}
.yn-sitebar-inner{max-width:1120px;margin:auto;min-height:65px;padding:7px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.yn-brand{display:inline-flex;align-items:center;gap:9px;color:white!important;text-decoration:none!important;font-weight:900;font-size:16px;letter-spacing:.015em}
.yn-brand img{width:39px;height:39px;object-fit:contain;background:white;border-radius:50%;border:2px solid #ffe15e}
.yn-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.yn-nav a{color:white!important;text-decoration:none!important;font-size:12px;font-weight:800;padding:8px 11px;border-radius:8px}
.yn-nav a:hover{background:#25569c}
.yn-nav a[aria-current=page]{background:#fff;color:#0c2454!important}
.yn-sitebar+.top{top:0}
.wrap{position:relative}
.wrap>header:first-child{padding:24px 28px;background:#fff;border:1px solid #d9e3f0;border-radius:18px;box-shadow:0 10px 26px rgba(12,36,84,.06)}
.wrap>header:first-child h1{color:#0c2454;letter-spacing:.01em}
section,.q,.exp,.end,.tile,.rvb{border-radius:14px!important;box-shadow:0 6px 20px rgba(12,36,84,.045)}
.banner{border-left:5px solid #ee343e;background:#fff8e8}
.bar{background:rgba(246,249,255,.97)}
button,.btn,.start,.next,.qbox button{font-weight:700}
.start,.next,.qbox button,.btn:not(.sec):not(.dgr){box-shadow:0 4px 0 #063e7e}
.start:hover:not(:disabled),.next:hover,.qbox button:hover,.btn:not(.sec):not(.dgr):hover{transform:translateY(1px);box-shadow:0 3px 0 #063e7e;background:#074f9a}
.yn-footer{max-width:1120px;margin:20px auto 0;padding:24px 20px 34px;color:#68778e;font-size:12px;text-align:center}
@media(max-width:620px){.yn-sitebar-inner{display:block;padding:8px 16px}.yn-brand{font-size:13px}.yn-brand img{width:32px;height:32px}.yn-nav{margin-top:5px;gap:2px}.yn-nav a{font-size:11px;padding:6px 8px}.wrap>header:first-child{padding:20px}}
