:root{--ink:#304739;--muted:#6f7c71;--green:#49694d;--pale:#edf1e8;--cream:#f7f5ef;--line:#dce3d6}*{box-sizing:border-box}body{margin:0;background:#fcfcf9;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.8}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b47d4e;outline-offset:4px}button:disabled{opacity:.4;cursor:not-allowed}.header{height:100px;max-width:1260px;margin:auto;padding:0 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}a.brand{text-decoration:none;color:var(--ink);font-size:23px;font-weight:700;letter-spacing:-1px}.brand>span:last-child{font-weight:400}.brand-icon{display:inline-grid;place-items:center;width:34px;height:38px;border:1px solid #91a18c;border-radius:15px 15px 8px 8px;font-size:24px;margin-right:10px}.header-label{font-size:12px;color:var(--muted);letter-spacing:2px}main{max-width:1260px;margin:auto}.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;padding:70px 65px 65px;gap:32px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:#7b8a72}.eyebrow b{margin-left:16px;font-weight:400;letter-spacing:1px}.eyebrow>span{display:inline-block;background:#92a77b;width:7px;height:7px;border-radius:50%;margin-right:8px}h1{font-size:51px;font-weight:500;line-height:1.5;letter-spacing:4px;margin:25px 0}.accent{color:#7c926d}h2{font-size:19px;font-weight:500}.hero h2{font-size:17px;letter-spacing:2px}.lead{font-size:14px;line-height:2.2;color:var(--muted);margin:23px 0 30px}.primary{border:0;border-radius:7px;color:white;background:var(--green);padding:17px 25px;display:inline-flex;gap:30px;align-items:center;justify-content:center;font-size:14px;font-weight:600;box-shadow:0 5px 12px #3047390c}.primary:hover{background:#36553c}.meta{font-size:11px;color:#83907c;margin-top:14px}.meta i{font-style:normal;padding:0 9px}.garden{position:relative;height:450px;background:radial-gradient(ellipse at 50% 50%,#e5ebd9 0%,#f2f3e9 55%,transparent 72%);overflow:hidden;border-radius:48%}.haniwa{position:absolute;left:35%;top:29%;width:140px;height:225px;background:linear-gradient(100deg,#d8bd96,#e5ceae 60%,#c6a37d);border-radius:65px 65px 26px 26px;transform:rotate(-7deg);box-shadow:inset 6px 0 15px #fff4,8px 12px 25px #736b3820;z-index:2}.eyes{position:absolute;top:48px;width:100%;text-align:center;font-size:17px;color:#6e634e;letter-spacing:2px}.mouth{position:absolute;top:91px;left:60px;width:18px;height:28px;background:#786950;border-radius:50%;box-shadow:inset 2px 3px 5px #51412f44}.arms:before,.arms:after{content:'';position:absolute;width:55px;height:82px;border:22px solid #d8bd96;border-top:0;top:75px;border-radius:0 0 45px 45px}.arms:before{left:-42px;transform:rotate(20deg)}.arms:after{right:-42px;transform:rotate(-155deg);border-color:#ddc4a0}.ground{position:absolute;left:15%;right:13%;bottom:76px;background:#cbd3b4;height:20px;border-radius:50%;filter:blur(4px)}.plant{position:absolute;color:#8c9e78;font-size:130px;bottom:70px;line-height:1;z-index:3}.p1{left:16%;transform:rotate(-20deg)}.p2{right:13%;transform:rotate(20deg);font-size:170px}.spark{position:absolute;color:#91a27b;font-size:40px}.s1{top:65px;left:18%}.s2{right:17%;top:130px;font-size:30px}.orbit{position:absolute;border:1px solid #cad4bb;border-radius:50%;width:330px;height:330px;left:12%;top:45px;transform:rotate(25deg)}.o2{width:230px;height:390px;top:20px;left:26%;transform:rotate(45deg)}.art-caption{position:absolute;bottom:23px;left:0;width:100%;text-align:center;font-size:9px;letter-spacing:2px;color:#89947c}.intro{padding:38px 65px 48px;border-top:1px solid var(--line)}.intro h2{margin-top:8px;font-size:22px;letter-spacing:1px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:32px}.steps article{border-left:1px solid var(--line);padding-left:20px}.steps small{font-size:10px;letter-spacing:1.5px;color:#899780}.steps h3{font-size:16px;font-weight:500;margin:12px 0}.steps p{font-size:12px;color:var(--muted)}.privacy{display:flex;gap:20px;background:var(--pale);margin:0 65px 50px;padding:22px 28px;border-radius:8px;font-size:25px}.privacy strong{font-size:12px;font-weight:500}.privacy p{font-size:11px;color:var(--muted);margin:5px 0}footer{border-top:1px solid var(--line);padding:25px 48px;max-width:1260px;margin:auto;font-size:12px;color:var(--muted);display:flex;justify-content:space-between}footer span{font-size:10px}.wrap{max-width:820px;margin:55px auto 75px;padding:0 28px}.quiz-top{display:flex;justify-content:space-between;font-size:13px}progress{width:100%;height:6px;appearance:none;border:0;display:block;margin:18px 0 35px}progress::-webkit-progress-bar{background:#e8ecdf;border-radius:8px}progress::-webkit-progress-value{background:#879d77;border-radius:8px}progress::-moz-progress-bar{background:#879d77}.hint{color:var(--muted);font-size:13px}.quiz h1,.note h1{font-size:27px;letter-spacing:1px;margin:18px 0 30px;outline:none}.quiz fieldset{border:0;padding:0;margin:0}.option{display:flex;align-items:center;gap:15px;padding:19px 22px;border:1px solid var(--line);border-radius:10px;margin:13px 0;cursor:pointer;background:white;font-size:15px;min-height:74px}.option:hover{background:#f3f5ec}.option.selected{background:#edf2e7;border-color:#7d9772}.option input{width:18px;height:18px;accent-color:var(--green)}.option-letter{font-size:12px;color:#8a987f}.check{margin-left:auto;color:var(--green)}.nav{display:flex;justify-content:space-between;gap:20px;margin-top:30px}.text-button{background:none;border:0;color:var(--green);padding:12px;font-size:13px}.quiet{font-size:11px;color:var(--muted);line-height:1.9}.quiz>.quiet{text-align:center;margin-top:30px}.note label{display:block;margin:25px 0 10px;font-size:14px}.note small{font-size:11px;color:var(--muted);margin-left:10px}textarea,.name-input{width:100%;border:1px solid var(--line);border-radius:8px;padding:15px;background:white;color:var(--ink);font-size:16px}textarea{resize:vertical}.result{max-width:1050px}.result-head{text-align:center}.result-head>p:first-of-type{margin-top:28px}.result h1{font-size:40px;letter-spacing:2px;margin:15px 0}.result h1 span{display:block;font-size:19px;letter-spacing:1px}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:40px 0}.chart-card{padding:26px;background:var(--pale);border-radius:14px}.chart-card h2{margin:0}.bar-row{margin:19px 0}.bar-row>div:first-child{display:flex;justify-content:space-between;font-size:14px}.bar-row small{font-size:11px;margin-left:3px}.bar-track{height:11px;background:#fff9;border-radius:20px;overflow:hidden;margin-top:7px}.bar-track>div{height:100%;border-radius:20px}.insight{padding:20px}.insight p,.message p{font-size:14px;line-height:2}.insight h3{font-size:13px;margin-top:25px}.message{padding:25px 30px;background:var(--cream);border-radius:12px}.message p{white-space:pre-wrap;overflow-wrap:anywhere}.all-types{margin:40px 0}.all-types>h2{text-align:center;font-size:17px}.all-types>div{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:25px}.all-types article{border-top:1px solid var(--line);padding-top:15px}.all-types article>span{font-size:26px}.all-types h3{font-size:14px;margin:5px 0}.all-types p{font-size:11px;color:var(--muted)}.disclaimer{font-size:11px;color:var(--muted);padding:20px 0;border-top:1px solid var(--line)}.result-actions{display:flex;justify-content:center;gap:15px;flex-wrap:wrap}.print-help{text-align:center}.print-only{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:720px){.header{height:76px;padding:0 22px}.brand{font-size:20px!important}.header-label{display:none}.hero{grid-template-columns:1fr;padding:42px 26px 20px;gap:5px}.hero h1{font-size:40px;margin-top:22px}.hero-copy{z-index:4}.eyebrow b{font-size:9px;margin-left:8px}.hero .primary{width:100%}.garden{height:320px;margin:5px 0}.haniwa{top:20%;left:36%;transform:scale(.8) rotate(-7deg);transform-origin:top center}.ground{bottom:65px}.orbit{width:260px;height:250px;left:12%;top:25px}.o2{height:270px;width:180px;left:28%}.plant{bottom:55px;font-size:100px}.p2{font-size:120px}.s1{top:30px}.s2{top:80px}.art-caption{bottom:15px}.intro{padding:30px 26px}.intro h2{font-size:18px}.steps{grid-template-columns:1fr;gap:20px;margin-top:24px}.steps p br{display:none}.steps h3{margin:5px 0}.steps p{margin:5px 0}.privacy{margin:0 26px 30px;padding:18px;gap:12px}footer{padding:22px 26px;display:block}footer span{display:block;margin-top:5px}.wrap{margin-top:35px;padding:0 22px}.quiz h1,.note h1{font-size:23px}.option{padding:16px 13px;gap:10px;font-size:14px}.nav .primary{padding:15px 20px;gap:6px}.report-grid{grid-template-columns:1fr;gap:15px;margin-top:25px}.insight{padding:12px 5px}.result h1{font-size:32px}.result h1 span{font-size:17px}.all-types>div{grid-template-columns:1fr 1fr}.result-actions>.primary{width:100%}}
@media print{@page{size:A4;margin:15mm}body{background:white;font-size:10pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}.header{height:45px;padding:0 0 8px}.header-label,footer,.result-actions,.print-help{display:none!important}.result{margin:15px auto;padding:0;max-width:none}.result h1{font-size:27px;margin:8px 0}.result-head>p:first-of-type{margin:10px 0}.result-head .hint{font-size:10px}.report-grid{grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.chart-card{padding:18px}.chart-card h2,.insight h2,.message h2{font-size:15px}.bar-row{margin:12px 0}.insight{padding:10px}.insight p,.message p{font-size:11px}.insight h3{margin-top:12px}.all-types{margin:20px 0}.all-types>div{grid-template-columns:repeat(4,1fr);gap:15px}.message{padding:15px 20px}.chart-card,.message,.all-types article,.insight article{break-inside:avoid}.print-only{display:block;font-size:9px}.disclaimer{font-size:9px;padding:10px 0}.result-head,.message{overflow-wrap:anywhere}}

/* PDFと同じページ画像を使う、端末共通のレポート閲覧欄 */
[hidden]{display:none!important}
.pdf-report{margin:35px 0 45px;padding:22px;background:#f5f6f0;border:1px solid var(--line);border-radius:12px}
.pdf-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px}.pdf-toolbar h2{margin:0}.pdf-toolbar a{text-decoration:none}
.pdf-controls{display:flex;flex-wrap:wrap;gap:14px;margin:16px 0;font-size:12px}
.pdf-controls label{display:flex;align-items:center;gap:8px}.pdf-controls select{font:inherit;color:var(--ink);padding:9px;border:1px solid var(--line);border-radius:6px;background:white;max-width:100%}
.pdf-pages{--report-width:100%;position:relative;height:75vh;height:75svh;min-height:320px;max-height:1000px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:auto;background:#dfe4db;padding:14px;border-radius:8px;touch-action:pan-x pan-y pinch-zoom}
.pdf-page{width:var(--report-width);min-width:100%;margin:0 auto 22px;background:white;box-shadow:0 2px 10px #30473915}.pdf-page:last-child{margin-bottom:0}.pdf-page figcaption{font-size:12px;padding:8px 14px;border-bottom:1px solid var(--line);color:var(--muted)}.pdf-page img{display:block;width:100%;height:auto;aspect-ratio:1240/1754}
.pdf-pages:focus-visible{outline:3px solid #b47d4e;outline-offset:3px}.pdf-report a:focus-visible,.pdf-controls select:focus-visible{outline:3px solid #b47d4e;outline-offset:3px}
@media(max-width:720px){.pdf-report{margin:25px -10px;padding:12px}.pdf-toolbar h2{font-size:16px}.pdf-toolbar .primary{font-size:12px;padding:12px;white-space:nowrap;gap:0}.pdf-controls{gap:10px}.pdf-controls label{font-size:11px;flex:1;min-width:130px;display:block}.pdf-controls select{display:block;width:100%;margin-top:4px}.pdf-pages{padding:7px;height:72vh;height:72svh}.pdf-page{margin-bottom:14px}.pdf-page figcaption{padding:6px 10px}}
@media print{.pdf-report{display:none}}
/* PDFの原寸(1240x1754)で記入欄を作り、ページと同じ倍率で縮小する。
   CSSの最小16pxやiPhoneのフォーム自動拡大で、PDFとの比率を崩さない。 */
.pdf-sheet{position:relative;isolation:isolate}
.reflection-layer{position:absolute;left:0;top:0;width:1240px;height:1754px;transform-origin:0 0;pointer-events:none}
.reflection-paper{position:absolute;left:112px;width:1016px;height:226px;background:#fff repeating-linear-gradient(to bottom,transparent 0,transparent 52px,#cad6c5 52px,#cad6c5 53px);background-position:0 -2px;pointer-events:none}
.reflection-inline{position:absolute;min-height:0;margin:0;padding:0;border:0;border-radius:0;resize:none;background:transparent;color:var(--ink);font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:28px;line-height:53px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-all;line-break:anywhere;letter-spacing:0;text-indent:0;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-appearance:none;appearance:none;pointer-events:auto;touch-action:auto;box-shadow:none}
.reflection-inline:hover{outline:1px solid #a6b69c;outline-offset:4px}.reflection-inline:focus{outline:2px solid #879d77;outline-offset:4px;background:#f8fbefaa}.reflection-inline::placeholder{color:#889980;font-size:inherit;line-height:inherit;opacity:1}
.reflection-feedback{padding:12px 16px;margin:0;background:var(--pale);font-size:12px;line-height:1.8}
/* キャラクターは支給画像の特徴を保った透過画像。装飾の文字・絵文字は使わない。 */
.garden{border-radius:36px;overflow:hidden;display:grid;place-items:center;padding:18px 24px 42px}
.haniwa-mascot{display:block;position:relative;z-index:1;width:min(100%,370px);height:auto;object-fit:contain;filter:drop-shadow(0 12px 15px #626e4020)}
.garden .ground{bottom:47px}.garden .orbit{opacity:.5}.art-caption{bottom:14px;font-size:8px;letter-spacing:1.3px;white-space:normal;padding:0 8px;line-height:1.6}
.type-icon{width:1em;height:1em;display:inline-block;vertical-align:-.15em;flex:none}.bar-row>div:first-child>span{display:flex;align-items:center;gap:8px;min-width:0}.bar-row .type-icon{width:20px;height:20px}.all-types article>span{display:inline-flex;align-items:center}.all-types .type-icon{width:29px;height:29px}
.hero-copy,.report-grid>*,.all-types article,.quiz fieldset{min-width:0}.option input{flex:none}.option>span:nth-of-type(2){min-width:0;overflow-wrap:anywhere}.result h1,.hint,.lead,.all-types p,.insight p{overflow-wrap:anywhere}
@media(max-width:720px){.garden{height:auto;min-height:310px;padding:14px 18px 38px;margin:12px 0 24px}.haniwa-mascot{width:min(100%,300px)}.hero h1{font-size:clamp(30px,9.5vw,40px);letter-spacing:2px}.pdf-toolbar{flex-wrap:wrap}.pdf-toolbar>div{min-width:0}.pdf-toolbar .primary{min-height:44px}.nav{gap:8px}.nav .text-button{padding-left:0;padding-right:4px}.pdf-pages{min-width:0}.result-head h1{letter-spacing:1px}.brand-icon{margin-right:5px}}
