:root{--navy:#0c2454;--blue:#078bdf;--red:#e83341;--yellow:#ffd52e;--ink:#14213b;--muted:#56657a}
*{box-sizing:border-box}
[data-copy]{white-space:pre-line}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:#f5f8fe;font-family:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}
a:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.skip{position:absolute;top:-70px;left:14px;padding:8px 14px;background:white;z-index:20}.skip:focus{top:8px}
.shell{width:min(1160px,calc(100% - 40px));margin:auto}
.site-header{position:relative;z-index:5;background:var(--navy);color:white;border-bottom:4px solid var(--yellow)}
.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:10px;color:white;text-decoration:none;font-size:12px;font-weight:800;line-height:1.15;white-space:nowrap}.brand strong{font-size:19px;letter-spacing:.015em}.brand img{width:52px;height:52px;object-fit:contain;background:white;border:2px solid var(--yellow);border-radius:50%}
.header-nav{display:flex;gap:8px;align-items:center}.header-nav a{padding:9px 12px;color:white;text-decoration:none;font-size:13px;font-weight:800;border-radius:8px}.header-nav a:hover{background:#25569c}
.hero{position:relative;overflow:hidden;color:white;background:radial-gradient(circle at 70% 22%,#00c5e8 0,transparent 27%),radial-gradient(circle at 18% 55%,#1a9aec 0,transparent 35%),linear-gradient(120deg,#0876d1 0%,#0460b9 52%,#082e84 100%)}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:18px;background:linear-gradient(90deg,var(--red) 0 47%,var(--yellow) 47% 54%,var(--red) 54% 100%);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
.hero-sparkles{position:absolute;inset:0;opacity:.55;background-image:radial-gradient(#fff 2px,transparent 3px),radial-gradient(#fff 1px,transparent 2px);background-size:101px 89px,149px 137px;background-position:17px 26px,56px 63px;mask-image:linear-gradient(90deg,transparent,#000 45%)}
.hero-inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);align-items:center;gap:25px;min-height:525px;padding:52px 0 58px}
.hero-copy{position:relative;z-index:2}.hero-pill{display:inline-block;padding:5px 17px;background:var(--red);border:2px solid white;box-shadow:4px 4px 0 var(--navy);font-size:13px;font-weight:900;letter-spacing:.07em;transform:rotate(-2deg)}
h1{margin:27px 0 13px;font-size:clamp(36px,4.9vw,66px);font-weight:900;line-height:1.32;letter-spacing:.01em;text-shadow:4px 5px 0 rgba(9,28,77,.8)}
h1 em{font-style:normal;color:#fff247;white-space:nowrap}.hero-copy p{font-size:16px;font-weight:700;line-height:1.95;text-shadow:0 2px 6px #164782}.hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:26px}
.button{display:inline-flex;justify-content:center;align-items:center;gap:14px;min-height:51px;padding:11px 21px;border:2px solid var(--navy);border-radius:11px;text-decoration:none;color:var(--navy);font-size:15px;font-weight:900;box-shadow:5px 5px 0 var(--navy);transition:transform .12s,box-shadow .12s}.button:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--navy)}.button span{font-size:21px;line-height:1}.button-yellow{background:var(--yellow)}.button-white{background:white}
.hero-visual{position:relative;min-height:430px;align-self:stretch}.answer-card{position:absolute;top:68px;left:13%;width:65%;height:295px;padding:22px 25px;transform:rotate(-8deg);background:white;color:var(--navy);border:5px solid var(--navy);border-radius:18px;box-shadow:12px 15px 0 rgba(7,26,78,.5)}.answer-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:3px solid #e1e9f6;padding-bottom:10px;font-size:15px}.answer-card-head span{font-size:11px;font-weight:900;color:var(--blue)}.answer-card-balls{display:flex;gap:8px;margin-top:24px}.answer-card-balls b{display:grid;place-items:center;width:37px;height:37px;border:2px solid var(--navy);border-radius:50%;font-size:17px}.answer-card-balls b:nth-child(3){background:var(--yellow)}.answer-card-line{height:11px;margin-top:22px;background:#e6ecf7;border-radius:6px}.answer-card-line.short{width:67%;margin-top:10px}.answer-card-foot{margin-top:24px;color:#526786;font-size:13px;font-weight:800}.score-stamp{position:absolute;top:10px;right:8%;z-index:2;display:flex;align-items:baseline;gap:3px;justify-content:center;width:112px;height:112px;padding-top:22px;border-radius:50%;background:var(--yellow);border:5px solid white;box-shadow:6px 7px 0 var(--navy);color:var(--navy);transform:rotate(11deg)}.score-stamp span{font-size:11px;font-weight:900}.score-stamp span:first-child{position:absolute;top:11px}.score-stamp strong{font-size:58px;line-height:1;font-weight:1000}.tsumugi{position:absolute;z-index:2;left:-2%;bottom:-64px;height:250px;filter:drop-shadow(4px 8px 0 #06286e)}.yonnana{position:absolute;z-index:2;right:-2%;bottom:-57px;height:244px;filter:drop-shadow(4px 7px 0 #06286e)}
.contents{padding:72px 0 84px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:23px}.eyebrow{display:block;margin-bottom:7px;color:var(--red);font-size:12px;font-weight:900;letter-spacing:.13em}h2{margin:0;color:var(--navy);font-size:clamp(25px,3vw,36px);line-height:1.35}.section-head p{margin:0;color:var(--muted);font-size:13px}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.card{position:relative;display:flex;flex-direction:column;min-height:334px;padding:25px 26px 26px;background:white;border:2px solid #d6e2f1;border-radius:18px;box-shadow:7px 8px 0 #e1e9f5}.card.red{border-top:7px solid var(--red)}.card.blue{border-top:7px solid var(--blue)}.card.yellow{border-top:7px solid #f2bf00}.card-top{display:flex;justify-content:space-between;align-items:center}.card-number{font-size:12px;font-weight:900;color:#7d8ba2}.card-icon{display:grid;place-items:center;width:45px;height:45px;border:2px solid var(--navy);border-radius:12px;background:#fff0f1;color:var(--red);font-size:22px;font-weight:900;transform:rotate(7deg)}.blue .card-icon{background:#e5f3ff;color:var(--blue)}.yellow .card-icon{background:#fff6c7;color:#9c7400;font-size:14px}.card-kicker{margin-top:15px;color:#a92532;font-size:12px;font-weight:900}.blue .card-kicker{color:#005eaa}.yellow .card-kicker{color:#8f6900}.card h3{margin:8px 0 10px;color:var(--navy);font-size:23px;line-height:1.4}.card p{margin:0;color:var(--muted);font-size:13px;line-height:1.85}.card a{margin-top:auto;padding-top:20px;color:#075ba7;text-decoration:none;font-size:14px;font-weight:900}.card a:hover{text-decoration:underline;text-underline-offset:4px}.card a span{font-size:18px}.notice{display:flex;align-items:flex-start;gap:12px;margin-top:29px;padding:15px 19px;border:1px solid #f3d795;border-radius:10px;background:#fff9e8;color:#6b531a;font-size:13px}.notice p{margin:0}.notice-mark{display:grid;place-items:center;flex:none;width:23px;height:23px;border-radius:50%;background:var(--yellow);font-weight:900}
footer{background:var(--navy);color:#d8e6ff}.footer-inner{display:flex;justify-content:space-between;gap:15px;padding:25px 0;font-size:12px}
@media(max-width:1000px){.hero-inner{grid-template-columns:1fr;min-height:0;padding:62px 0 72px}.hero-visual{display:none}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.shell{width:calc(100% - 32px)}.header-inner{min-height:64px}.brand img{width:41px;height:41px}.brand{font-size:10px}.brand strong{font-size:13px}.header-nav{gap:1px}.header-nav a{font-size:11px;padding:7px 6px}.header-nav a:first-child{display:none}.hero-inner{padding:52px 0 26px}.hero-pill{font-size:11px}h1{font-size:clamp(34px,9.4vw,48px)}h1 em{white-space:normal}.hero-copy p{font-size:14px}.hero-actions{display:grid}.button{width:100%}.hero-visual{display:block;min-height:155px}.answer-card,.score-stamp{display:none}.tsumugi,.yonnana{height:175px;bottom:-27px}.tsumugi{left:12%}.yonnana{right:10%}.contents{padding:56px 0 66px}.section-head{display:block}.section-head p{margin-top:8px}.cards{grid-template-columns:1fr}.card{min-height:290px}.footer-inner{display:block}.footer-inner span{display:block;margin-top:5px}}
