:root{--bg-top:#fff7fc;--bg-middle:#f8f2ff;--bg-bottom:#eff7ff;--surface:#ffffffc7;--surface-strong:#ffffffe6;--text:#786d97;--text-soft:#948ab0;--text-faint:#b6aecf;--heading:#685f86;--accent:#8ea8ff;--accent-strong:#8193e8;--accent-pink:#f6a8cf;--accent-lavender:#cabfff;--accent-mint:#bdece1;--border:#bab3e675;--border-strong:#8ea8ff9e;--success:#5fb9a5;--warning:#d089b1;--shadow-lg:0 28px 60px #c9c0eb6b;--shadow-md:0 18px 34px #cdc4eb47;--shadow-sm:0 12px 24px #c9bfe738;--radius-xl:32px;--radius-lg:24px;--radius-md:18px;--radius-pill:999px;--font-sans:"Meiryo", "メイリオ", "Yu Gothic UI", "Hiragino Sans", sans-serif;--font-heading:"Meiryo", "メイリオ", "Yu Gothic UI", "Hiragino Sans", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--text);font-family:var(--font-sans);background:radial-gradient(circle at 10% 10%, #f8b2dc85, transparent 24%), radial-gradient(circle at 90% 12%, #a4d1ff7a, transparent 26%), radial-gradient(circle at 50% 100%, #bdece173, transparent 30%), linear-gradient(180deg, var(--bg-top) 0%, var(--bg-middle) 48%, var(--bg-bottom) 100%);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;margin:0}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 20% 30%,#ffffff7a,#0000 18%),radial-gradient(circle at 80% 20%,#ffffff70,#0000 18%),linear-gradient(120deg,#ffffff52,#fff0);position:fixed;inset:0}body:after{content:"";pointer-events:none;opacity:.7;z-index:0;background-image:radial-gradient(circle at 12% 22%,#ffffffe6 0 2px,#0000 3px),radial-gradient(circle at 82% 18%,#ffffffbf 0 2px,#0000 3px),radial-gradient(circle at 68% 34%,#ffffffb3 0 1.5px,#0000 3px),radial-gradient(circle at 26% 74%,#ffffffbf 0 2px,#0000 3px),radial-gradient(circle at 91% 82%,#fffc 0 1.5px,#0000 3px);position:fixed;inset:0}button,input,textarea,select{font:inherit}button{cursor:pointer;background:0 0;border:0}button:disabled{cursor:not-allowed;opacity:.65}input::placeholder{color:var(--text-faint)}a{color:inherit;text-decoration:none}h1,h2,h3{color:var(--heading);margin:0}h1,h2{font-family:var(--font-heading);letter-spacing:-.04em}p{margin:0;line-height:1.7}ul{margin:0;padding:0}#app{z-index:1;min-height:100svh;position:relative}.page-shell{gap:24px;width:min(1120px,100% - 32px);margin:0 auto;padding:32px 0 56px;display:grid}.page-grid{gap:24px;display:grid}.page-hero{border-radius:var(--radius-xl);color:var(--text);box-shadow:var(--shadow-lg);background:linear-gradient(135deg,#ffffffd1 0%,#fff4fbe0 38%,#eef7ffeb 100%);border:1px solid #ffffffad;padding:32px;animation:.55s both rise-in;position:relative;overflow:hidden}.page-hero:before{content:"";opacity:.2;background:radial-gradient(circle,#ffffffe6 0%,#fff0 70%);border-radius:50%;width:140px;height:140px;position:absolute;inset:16px auto auto 18px}.page-hero:after{content:"";filter:blur(4px);background:radial-gradient(circle,#cabfff80 0%,#f6a8cf29 58%,#fff0 72%);border-radius:50%;width:220px;height:220px;position:absolute;inset:auto -48px -56px auto}.page-hero-content{gap:24px;display:grid}.page-hero-content>*{min-width:0}.page-kicker{color:var(--accent-strong);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:16px;font-size:.78rem;display:inline-flex}.page-kicker:before{content:"";background:currentColor;width:32px;height:1px}.page-title{max-width:12ch;color:var(--heading);font-size:clamp(2.3rem,4vw,4.5rem);line-height:1.02}.page-subtitle{max-width:48rem;color:var(--text-soft);margin-top:16px;font-size:1.02rem}.page-card{border-radius:var(--radius-xl);background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-md);border:1px solid #ffffffb8;padding:32px;animation:.55s both rise-in}.form-card{max-width:720px}.register-panel{width:min(100%,980px);max-width:980px;margin-inline:auto}.register-title{flex-wrap:wrap;align-items:baseline;gap:0;max-width:none;display:flex}.register-title-part{white-space:nowrap}.section-heading{gap:8px;margin-bottom:24px;display:grid}.section-heading-split{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px}.section-kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--accent-strong);font-size:.78rem;font-weight:700}.section-description{max-width:44rem;color:var(--text-soft)}.section-heading h2{font-size:clamp(1.65rem,2.2vw,2.5rem)}.form-stack{gap:16px;display:grid}.field{gap:10px;display:grid}.field span{color:var(--text-soft);font-size:.92rem;font-weight:700}.input{border-radius:var(--radius-md);border:1px solid var(--border);width:100%;color:var(--heading);background:#ffffffeb;padding:16px 18px;transition:border-color .2s,box-shadow .2s,transform .2s;box-shadow:inset 0 1px #ffffffa6}.input:focus{border-color:var(--border-strong);outline:none;transform:translateY(-1px);box-shadow:0 0 0 6px #8ea8ff29}.button-row{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.button{border-radius:var(--radius-pill);letter-spacing:.01em;justify-content:center;align-items:center;min-height:52px;padding:14px 22px;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s,color .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button:focus-visible,.question-card:focus-visible{outline:none}.button-primary{color:#fff;background:linear-gradient(135deg, var(--accent) 0%, var(--accent-pink) 100%);box-shadow:0 18px 34px #cbbef475}.button-primary:focus-visible{box-shadow:0 0 0 4px #ffffffa6,0 0 0 8px #8ea8ff38}.button-secondary{color:var(--heading);border:1px solid var(--border);background:#fffc}.button-secondary:focus-visible,.button-ghost:focus-visible,.input:focus-visible,.choice-card:focus-within{box-shadow:0 0 0 6px #8ea8ff29}.button-ghost{color:var(--heading);background:#bdece152;border:1px solid #bdece1b8}.message-banner{border:1px solid #0000;border-radius:20px;margin-top:20px;padding:16px 18px;font-weight:600}.message-banner-warning{color:var(--warning);background:#f6a8cf24;border-color:#f6a8cf47}.status-pill{border-radius:var(--radius-pill);color:var(--accent-strong);background:#8ea8ff24;align-items:center;gap:8px;padding:10px 14px;font-weight:700;display:inline-flex}.status-pill-soft{border:1px solid var(--border);color:var(--text-soft);background:#ffffffd1}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.selection-grid{gap:12px;display:grid}.selection-card{text-align:left;background:#ffffffb3;border:1px solid #ffffffe6;border-radius:24px;gap:8px;padding:18px 16px;transition:transform .2s,box-shadow .2s,border-color .2s,background .2s;display:grid;box-shadow:0 12px 22px #cdc4eb29}.selection-card:hover{border-color:#f6a8cf7a;transform:translateY(-2px);box-shadow:0 18px 28px #cdc4eb3d}.selection-card:focus-visible{outline:none;box-shadow:0 0 0 6px #8ea8ff29}.selection-card-active{border-color:var(--border-strong);background:linear-gradient(135deg,#cabfff38,#ffffffe6)}.selection-title{color:var(--heading);font-size:1rem;font-weight:700}.selection-meta{color:var(--text-soft);font-size:.9rem}.selection-count{color:var(--accent-strong);font-size:.94rem;font-weight:700}.stat-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffb3;border:1px solid #ffffffe6;border-radius:24px;padding:18px 20px;box-shadow:0 12px 22px #cdc4eb29}.stat-label{color:var(--accent-strong);letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px;font-size:.78rem;display:block}.stat-value{color:var(--heading);font-size:2.25rem;line-height:1;display:block}.stat-note{color:var(--text-soft);margin-top:10px}.empty-state{color:var(--text-soft);text-align:center;background:#ffffffa8;border:1px dashed #bab3e694;border-radius:24px;gap:10px;padding:32px;display:grid}.empty-state h3{color:var(--heading);font-family:var(--font-sans);letter-spacing:-.02em;font-size:1.2rem}.question-list{gap:14px;list-style:none;display:grid}.question-card{border:1px solid var(--border);background:var(--surface-strong);width:100%;box-shadow:var(--shadow-sm);text-align:left;border-radius:24px;padding:22px 24px;transition:transform .2s,box-shadow .2s,border-color .2s;animation:.55s both rise-in}.question-card:hover{border-color:#f6a8cf7a;transform:translateY(-2px);box-shadow:0 18px 28px #cdc4eb42}.question-card:focus-visible{border-color:var(--border-strong);box-shadow:0 0 0 6px #8ea8ff29}.question-card-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.question-index{border-radius:var(--radius-pill);color:var(--accent-strong);background:#8ea8ff24;align-items:center;padding:8px 12px;font-weight:700;display:inline-flex}.question-arrow{color:var(--accent-pink);font-weight:700}.question-text{color:var(--heading);font-size:1.03rem;line-height:1.75}.question-statement{color:var(--heading);font-size:clamp(1.12rem,1.6vw,1.35rem);line-height:1.8}.detail-top-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.detail-meta{margin-bottom:18px}.detail-footer-actions{margin-top:20px}.subtle-divider{background:linear-gradient(90deg,#f6a8cf66,#8ea8ff2e,#fff0);width:100%;height:1px;margin:28px 0 24px}.choice-list{gap:14px;list-style:none;display:grid}.choice-card{border:1px solid var(--border);background:#ffffffe6;border-radius:24px;grid-template-columns:auto auto minmax(0,1fr);align-items:flex-start;gap:14px;padding:18px;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s;display:grid;box-shadow:inset 0 1px #ffffffa6}.choice-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.choice-card-selected{background:linear-gradient(135deg,#bdece142,#cabfff2e);border-color:#8ea8ff70;box-shadow:0 16px 30px #cdc4eb38}.choice-card input{width:18px;height:18px;accent-color:var(--accent-strong);margin:5px 0 0}.choice-pill{min-width:42px;color:var(--heading);background:#f6a8cf2e;border-radius:14px;justify-content:center;align-items:center;padding:8px 12px;font-weight:800;display:inline-flex}.choice-copy{color:var(--heading);line-height:1.75}.feedback-panel{border:1px solid #0000;border-radius:24px;gap:8px;margin-top:24px;padding:20px 22px;display:grid}.feedback-panel-neutral{color:var(--warning);background:#f6a8cf24;border-color:#f6a8cf3d}.feedback-panel-correct{background:linear-gradient(135deg,#bdece152,#8ea8ff24);border-color:#bdece1ad}.feedback-panel-incorrect{background:linear-gradient(135deg,#ffe5f1d1,#f6a8cf29);border-color:#f6a8cf47}.feedback-title{color:var(--heading);font-size:1.1rem;font-weight:800}.feedback-line{color:var(--text)}.body-copy{color:var(--text);line-height:1.85}.questions-hero-content{grid-template-columns:minmax(0,1fr) minmax(620px,1.25fr);align-items:start}.questions-title-row{display:block}.questions-page-title{white-space:nowrap;max-width:none;margin:0}.questions-action-row{flex-wrap:wrap;gap:12px;margin-top:16px;margin-bottom:8px;display:flex}.hero-side-actions{align-self:start;gap:14px;width:100%;min-width:0;display:grid}.questions-selection-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px;width:100%;display:grid}.questions-selection-grid .selection-card{width:100%;height:100%;min-height:122px}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (width<=1200px){.questions-hero-content{grid-template-columns:minmax(0,1fr) minmax(420px,1fr)}.questions-selection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=920px){.page-hero-content{grid-template-columns:1fr;align-items:start}.questions-hero-content{grid-template-columns:1fr}.hero-side-actions{width:100%}.questions-selection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-top-actions,.hero-chip-list{justify-content:flex-start}}.explanation-text{white-space:pre-line}@media (width<=720px){.page-shell{gap:18px;width:min(1120px,100% - 20px);padding:20px 0 32px}.page-hero,.page-card{border-radius:24px;padding:24px 20px}.page-title{max-width:12ch;font-size:clamp(2rem,11vw,3.2rem)}.questions-page-title{white-space:normal}.questions-action-row{flex-direction:column;align-items:stretch}.register-title{display:flex}.section-heading-split,.stats-grid{grid-template-columns:1fr}.button-row{flex-direction:column}.button{width:100%}.questions-selection-grid{grid-template-columns:1fr}.question-card{border-radius:20px;padding:18px}.detail-top-actions{flex-direction:column;align-items:stretch}.detail-top-actions .button{width:100%}.choice-card{grid-template-columns:auto 1fr}.choice-card input{grid-row:span 2}.choice-pill{width:fit-content}}.register-action-grid[data-v-c6f9b06d]{grid-template-columns:repeat(2,minmax(0,1fr))}.register-title[data-v-c6f9b06d]{white-space:nowrap}@media (width<=920px){.register-action-grid[data-v-c6f9b06d]{grid-template-columns:1fr}.register-title[data-v-c6f9b06d]{white-space:normal}.register-title .title-part[data-v-c6f9b06d]{display:block}}.forgot-password-grid[data-v-be275c07]{grid-template-columns:minmax(0,720px);justify-content:center}.forgot-password-title[data-v-be275c07]{white-space:nowrap}@media (width<=920px){.forgot-password-title[data-v-be275c07]{white-space:normal}.forgot-password-grid[data-v-be275c07]{grid-template-columns:1fr}}.change-password-grid[data-v-69e604a4]{grid-template-columns:minmax(0,720px);justify-content:center}.change-password-title[data-v-69e604a4]{white-space:nowrap}@media (width<=920px){.change-password-title[data-v-69e604a4]{white-space:normal}.change-password-grid[data-v-69e604a4]{grid-template-columns:1fr}}.forgot-password-sent-grid[data-v-d0dc8d39]{grid-template-columns:minmax(0,720px);justify-content:center}.portfolio-page[data-v-ade54b7b]{text-align:center;max-width:1000px;margin:0 auto;padding:56px 24px}.hero[data-v-ade54b7b]{margin-bottom:40px}.hero h1[data-v-ade54b7b]{margin-bottom:8px;font-size:36px;font-weight:700}.subtitle[data-v-ade54b7b]{color:#666;font-size:14px}h2[data-v-ade54b7b]{margin-top:40px;font-size:22px}.works[data-v-ade54b7b]{justify-content:center;margin-top:24px;display:flex}.card[data-v-ade54b7b]{cursor:pointer;background:#fff;border-radius:16px;width:100%;max-width:600px;padding:24px;transition:all .3s;box-shadow:0 8px 24px #00000014}.card[data-v-ade54b7b]:hover{transform:translateY(-5px);box-shadow:0 10px 20px #00000026}.card img[data-v-ade54b7b]{object-fit:cover;border-radius:12px;width:100%;height:220px;margin-bottom:20px}.card p[data-v-ade54b7b]{font-size:15px;line-height:1.8}.card a[data-v-ade54b7b]{color:#fff;background:#2563eb;border-radius:999px;margin-top:16px;padding:10px 18px;font-weight:700;text-decoration:none;display:inline-block}
