:root{--ink:#19353b;--muted:#52686d;--paper:#fffdf8;--canvas:#eef4f2;--line:#cbd9d5;--primary:#086f72;--primary-dark:#035558;--accent:#dd874a;--notice:#fff4d8;--focus:#1c5fad;--shadow:0 12px 28px rgba(26,57,60,.1)}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--canvas);color:var(--ink);font-family:"Yu Gothic UI","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:1rem;line-height:1.75}.container{width:min(100% - 2rem,920px);margin-inline:auto}.site-header{padding:1.7rem 0;background:var(--paper);border-bottom:1px solid var(--line)}.site-header h1{font-size:clamp(1.3rem,4vw,1.8rem);margin:0}.eyebrow{margin:0 0 .2rem;color:var(--primary);font-size:.78rem;font-weight:800;letter-spacing:.1em}.screen{margin:2rem 0 3rem;background:var(--paper);padding:clamp(1.25rem,4vw,3rem);border-radius:18px;box-shadow:var(--shadow)}h2{font-size:clamp(1.55rem,5vw,2.25rem);line-height:1.35;margin:.1rem 0 1rem}h3{font-size:1.2rem;margin:1.7rem 0 .65rem;line-height:1.5}.hero{max-width:720px}.notice{margin:1.5rem 0;padding:1rem 1.15rem;border-left:5px solid var(--accent);background:var(--notice);border-radius:4px}.notice h3{margin:0 0 .5rem}.notice p{margin:.55rem 0}.compact{font-size:.95rem}.form-field{margin:1.5rem 0}.form-field label{display:block;font-weight:700}.form-field label span,.field-hint,.result-meta,.question-help{color:var(--muted);font-size:.92rem}.form-field input{display:block;width:min(100%,440px);margin-top:.35rem;padding:.7rem .8rem;border:1px solid #71888c;border-radius:7px;font:inherit}.field-hint{margin:.35rem 0}.check-label{display:flex;align-items:flex-start;gap:.7rem;padding:.85rem;background:#eef7f5;border-radius:8px;font-weight:700}.check-label input{inline-size:1.25rem;block-size:1.25rem;margin-top:.35rem}.actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}.button{min-height:48px;padding:.65rem 1.1rem;border:2px solid var(--primary);border-radius:8px;background:#fff;color:var(--primary);font:inherit;font-weight:700;cursor:pointer}.button.primary{background:var(--primary);color:#fff}.button.primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.button.secondary:hover{background:#e8f3f1}.button:disabled{opacity:.52;cursor:not-allowed}.text-button{border-color:transparent;text-decoration:underline}.error{margin:.75rem 0 0;color:#a52320;font-weight:700}.status{font-weight:700}.progress-row{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center}.progress-row p{margin:0;font-weight:800}.progress-track{height:.7rem;background:#d8e3e0;border-radius:99px;overflow:hidden}.progress-track span{display:block;height:100%;width:0;background:var(--primary);transition:width .2s ease}.trait-label{display:inline-block;margin:1.8rem 0 .3rem;padding:.15rem .75rem;border-radius:99px;background:#e2f0ed;color:var(--primary-dark);font-weight:800}fieldset{margin:0;padding:0;border:0}legend{font-size:clamp(1.25rem,4vw,1.7rem);font-weight:800;line-height:1.55}.answer-options{display:grid;gap:.65rem;margin-top:1.25rem}.answer-option{position:relative;display:flex;align-items:center;gap:.85rem;min-height:56px;padding:.6rem .8rem;border:1px solid #92a6a7;border-radius:8px;background:#fff;cursor:pointer}.answer-option:hover{background:#eff8f6}.answer-option input{inline-size:1.25rem;block-size:1.25rem;flex:0 0 auto}.answer-option:has(input:checked){border:3px solid var(--primary);padding:calc(.6rem - 2px) calc(.8rem - 2px);background:#e5f4f1;font-weight:700}.question-actions{justify-content:space-between}.result-heading{display:flex;gap:1.5rem;justify-content:space-between;align-items:flex-start}.result-heading h2{font-size:clamp(1.5rem,4vw,2rem)}.print-hint{max-width:20rem;margin:0;padding:.6rem .8rem;background:#e8f3f1;border-radius:8px;font-size:.88rem}.summary{padding:1rem 1.2rem 1.3rem;background:#f4f8f7;border-radius:10px}.summary h3{margin:.1rem 0 1rem}.chart{display:grid;gap:.9rem}.bar-row{display:grid;grid-template-columns:minmax(5.8rem,9rem) 1fr 3.5rem;gap:.7rem;align-items:center}.bar-label{font-weight:700}.bar-track{height:1.4rem;overflow:hidden;border-radius:3px;background:#d6e1de}.bar-fill{height:100%;background:repeating-linear-gradient(135deg,var(--primary),var(--primary) 7px,#258c8d 7px,#258c8d 12px)}.bar-score{font-variant-numeric:tabular-nums;font-weight:800;text-align:right}.trait-details{display:grid;gap:1rem}.trait-card{padding:1.2rem;border:1px solid var(--line);border-radius:10px}.trait-card h4{display:flex;gap:.5rem;align-items:baseline;margin:0;font-size:1.2rem}.score-badge{color:var(--primary);font-size:1rem}.trait-card p{margin:.65rem 0}.trait-card ul{margin:.45rem 0 0;padding-left:1.25rem}.trait-card li{margin:.3rem 0}.final-notice{margin-top:2rem}.site-footer{padding:1rem 0 2rem;color:var(--muted);font-size:.88rem}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.skip-link{position:absolute;left:1rem;top:-4rem;padding:.6rem;background:#fff;color:var(--ink);z-index:5}.skip-link:focus{top:1rem}@media(max-width:560px){.container{width:min(100% - 1rem,920px)}.screen{margin:1rem 0 2rem;border-radius:10px}.result-heading{display:block}.print-hint{margin-top:1rem}.bar-row{grid-template-columns:5.5rem 1fr 2.8rem;gap:.45rem}.button{width:100%}.question-actions .button{width:calc(50% - .4rem)}.answer-option{min-height:60px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{@page{margin:15mm}.no-print,.site-header,.site-footer{display:none!important}body{background:#fff;color:#000;font-size:10.5pt;line-height:1.5}.container{width:100%;max-width:none}.screen{display:none!important;margin:0;padding:0;box-shadow:none;background:#fff}.screen#result-screen:not([hidden]){display:block!important}.notice{background:#fff;border:1px solid #555;border-left:4px solid #333;padding:.7rem}.summary,.trait-card{break-inside:avoid;background:#fff;border:1px solid #777}.trait-details{gap:.5rem}.trait-card{padding:.7rem}.trait-card h4{font-size:12pt}.trait-card p{margin:.35rem 0}.final-notice{margin-top:1rem}.bar-fill{background:#555!important}.bar-track{border:1px solid #555;background:#fff}.result-heading h2{font-size:18pt}}
.site-header{position:sticky;top:0;z-index:100;padding:0;background:rgba(255,253,248,.92);backdrop-filter:blur(10px);border-bottom:1px solid #E4EEE9}.site-header .inner{width:100%;max-width:1180px;margin:0 auto;padding:0 37.8px}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:20px;padding-top:12px;padding-bottom:12px}.site-header a{color:inherit;text-decoration:none}.site-header svg{display:block;max-width:100%}.site-header .icon{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.logo{display:flex;flex-direction:column;line-height:1.15}.logo-en{font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif;font-weight:700;font-size:21px;color:#0F6E56;letter-spacing:.02em}.logo-jp{font-size:11.5px;color:#7C8C86;letter-spacing:.03em}.global-nav ul{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:16px 26px;list-style:none;margin:0;padding:0}.global-nav a{font-size:14.5px;font-weight:500;color:#4B5D57;position:relative;padding:4px 0}.global-nav a:not(.nav-app-link):hover{color:#0F6E56}.nav-item-app-first{margin-left:6px;padding-left:22px;border-left:1px solid #E4EEE9}.global-nav .nav-app-link{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;background:#E3F5EC;color:#0F6E56;font-weight:700;font-size:13.5px;transition:background .15s ease,color .15s ease}.global-nav .nav-app-link:hover{background:#0F6E56;color:#fff}.global-nav .nav-app-link .icon{width:14px;height:14px}.site-header .btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;font-weight:700;white-space:nowrap;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.site-header .btn-primary{background:#16A97C;color:#fff;padding:12px 22px;font-size:14.5px;box-shadow:0 10px 22px -10px rgba(20,148,105,.55)}.site-header .btn-primary:hover{background:#0F6E56;transform:translateY(-1px)}.btn-header{padding:10px 18px;font-size:13.5px}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:38px;height:38px;border:none;background:none;cursor:pointer;padding:0}.nav-toggle span{display:block;width:22px;height:2px;background:#1B2B26;border-radius:2px;transition:.25s}@media(max-width:760px){.global-nav{position:fixed;top:76px;left:0;right:0;height:calc(100vh - 76px);background:#fff;overflow-y:auto;-webkit-overflow-scrolling:touch;transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;padding:28px 24px;border-top:1px solid #E4EEE9;z-index:50}.global-nav.is-open{opacity:1;transform:translateY(0);pointer-events:auto}.global-nav ul{flex-direction:column;flex-wrap:nowrap;gap:4px}.global-nav li{width:100%}.global-nav a{display:block;width:100%;padding:16px 4px;font-size:16px;border-bottom:1px solid #E4EEE9}.nav-item-app-first{margin-left:0;padding-left:0;border-left:none;margin-top:10px;padding-top:14px;border-top:1px solid #E4EEE9}.global-nav .nav-app-link{width:100%;border-radius:12px;padding:14px 12px;border-bottom:none;justify-content:flex-start}.nav-toggle{display:flex}}
