:root{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;color:#263e3c;background:#f8f8f2;font-synthesis:none;line-height:1.85}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:5px}header{max-width:1240px;margin:auto;padding:28px 40px;display:flex;align-items:center;justify-content:space-between;font-size:12px}.brand{text-decoration:none;font-size:21px;font-weight:650;letter-spacing:-.5px}.brand span{display:block;font-size:10px;letter-spacing:1px;font-weight:400}main{outline:none;max-width:1160px;margin:auto;padding:0 40px}section{padding:54px 0}h1{font-size:clamp(28px,3.2vw,43px);line-height:1.65;letter-spacing:.02em;font-weight:600;margin:16px 0 24px}h2{font-size:24px;font-weight:550}h3{font-size:18px}p{font-size:14px}.hero{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:35px;min-height:630px}.eyebrow{font-size:11px;font-weight:650;letter-spacing:2px;color:#527c6c}.lead{font-size:21px;line-height:1.9}.muted,small{font-size:12px;color:#5e726b}.primary{background:#315f50;color:white;border-color:#315f50}.primary span{margin-left:25px}button{font:inherit;font-size:14px;border:1px solid #aabbb1;background:transparent;color:inherit;border-radius:6px;padding:14px 22px;cursor:pointer}button:hover{filter:brightness(.92)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #bc7d3c;outline-offset:4px}.hero button{margin-top:20px}.illustration{height:390px;position:relative;background:radial-gradient(ellipse,#e5eddf 0%,#e5eddf00 70%)}.orbit{position:absolute;border:1px dashed #9eb6a2;border-radius:50%;width:280px;height:280px;top:55px;left:50%;transform:translateX(-50%);display:grid;place-items:center;text-align:center;color:#53765c}.orbit b{font-weight:500;font-size:20px}.petal{position:absolute;border-radius:48% 52% 47% 53%;width:116px;height:105px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#dce7cf;font-size:17px}.petal small{font-size:10px}.p0{top:5px;left:calc(50% - 58px)}.p1{right:-5px;top:148px;background:#ecdfca}.p2{bottom:0;left:calc(50% - 58px);background:#d1e3dc}.p3{left:-5px;top:148px;background:#e8e6cc}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}article{border:1px solid #dce2d8;padding:24px;border-radius:10px;background:#fffefa}article p{font-size:13px}.notice{padding:20px;border-left:3px solid #a6bba1;background:#eef1e8;margin-top:30px;font-size:12px}.privacy{border-top:1px solid #d9e0d5;max-width:850px}.privacy h2{font-size:18px}footer{padding:32px 40px;background:#e9eee4;margin-top:40px}footer p{max-width:1080px;margin:4px auto;font-size:11px}.assessment{max-width:850px;margin:auto}progress{width:100%;height:6px;accent-color:#426f59}fieldset{border:0;border-bottom:1px solid #dce2d8;padding:28px 0;margin:0}legend{font-size:17px;font-weight:550;padding-top:25px}legend span{color:#668675}.choices{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.choices label{position:relative;cursor:pointer;flex:1 1 145px}.choices input{position:absolute;top:17px;left:10px;accent-color:#315f50}.choices span{display:block;border:1px solid #aabbb1;border-radius:6px;padding:12px 12px 12px 32px;font-size:12px;min-height:58px}.choices input:checked+span{background:#e2ecdc;border:2px solid #315f50;padding:11px 11px 11px 31px}.choices input:focus-visible+span{outline:3px solid #bc7d3c;outline-offset:3px}.actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;margin:30px 0}.text{border:0;padding:5px;text-decoration:underline;font-size:12px}.resultgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:40px 0}.resultgrid h2{font-size:17px}.score{font-size:42px;line-height:1.2;margin:20px 0}.bar{height:8px;background:#e6ebdf;border-radius:5px;overflow:hidden}.bar i{display:block;height:100%;background:#628b64}details{padding:16px 0}summary{cursor:pointer;font-size:14px;text-decoration:underline;text-underline-offset:5px}.recommend{background:#e5edde;padding:24px 32px;border-radius:10px;margin:30px 0}.learning{grid-template-columns:repeat(2,1fr)}li{font-size:14px;margin-bottom:14px}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:white;z-index:5}@media(max-width:760px){header{padding:20px}.brand{font-size:17px}main{padding:0 22px}.hero{grid-template-columns:1fr;gap:0;padding-top:30px}.illustration{height:320px;max-width:360px;width:100%;margin:15px auto}.orbit{width:230px;height:230px;top:42px}.petal{width:95px;height:85px}.p1,.p3{top:120px}.p0,.p2{left:calc(50% - 47px)}.grid,.resultgrid{grid-template-columns:repeat(2,1fr);gap:12px}article{padding:18px}.learning{grid-template-columns:1fr}section{padding:35px 0}.choices label{flex-basis:45%}.actions button{flex:1}h2{font-size:21px}}

.reflection{border-top:1px solid #d9e0d5}.reflection details{padding:0}.reflection>details>summary{list-style-position:inside;text-decoration:none}.reflection summary h2{margin:8px 0}.reflection>details>summary>span:last-child{font-size:14px;text-decoration:underline;text-underline-offset:5px}.reflection form{max-width:850px}.reflection-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reflection-choices label{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid #aabbb1;border-radius:6px;cursor:pointer;font-size:14px}.reflection-choices label:has(input:checked){background:#e2ecdc;border-color:#315f50}.reflection-choices input{accent-color:#315f50;margin:6px 0 0;flex-shrink:0}.reflection-choices label:focus-within{outline:3px solid #bc7d3c;outline-offset:3px}.memo-label{display:block;margin:28px 0 10px;font-size:15px}textarea{width:100%;padding:14px;border:1px solid #aabbb1;border-radius:6px;background:#fffefa;color:inherit;font:inherit;font-size:14px;resize:vertical}textarea:focus-visible{outline:3px solid #bc7d3c;outline-offset:3px}.reflection-summary{background:#e5edde;padding:24px;border-radius:10px;overflow-wrap:anywhere}.reflection-summary:focus{outline:2px solid #315f50;outline-offset:4px}.reflection-summary dt{font-size:12px;color:#52735e;margin-top:20px}.reflection-summary dd{margin:6px 0;white-space:pre-wrap}.reflection-summary h3{margin-top:0}@media(max-width:600px){.reflection-choices{grid-template-columns:1fr}}
