@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;600&family=Noto+Serif+KR:wght@400;600&family=Noto+Serif+SC:wght@400;600&display=swap');
:root{--paper:#f5f1e8;--ink:#392b2c;--wine:#592c36;--line:#d9cdc1;--muted:#796d67;--gold:#ac8254;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,select,input{font:inherit}button,a,select,input{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit}header{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:28px 6%;border-bottom:1px solid var(--line)}.brand{font:italic 48px Georgia,serif;text-decoration:none;line-height:.8}.brand span{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:1px;margin-top:13px}.dept{font-size:10px;letter-spacing:2px;line-height:1.6}select{background:transparent;border:0;border-bottom:1px solid var(--line);padding:10px 2px;color:var(--ink);max-width:150px}main{min-height:75vh}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.05fr 1fr;gap:7%;padding:65px 6% 75px;align-items:center}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.3px;text-transform:uppercase;display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';width:26px;height:1px;background:var(--wine)}h1{font:normal clamp(62px,7.4vw,112px)/.98 Georgia,'Noto Serif JP','Noto Serif KR','Noto Serif SC',serif;letter-spacing:-5px;margin:34px 0 25px}h1 em{font-weight:normal;color:var(--wine)}.intro{font-size:16px;line-height:1.8;max-width:390px;color:var(--muted)}.primary{background:var(--wine);color:var(--paper);border:1px solid var(--wine);padding:18px 27px;display:inline-flex;justify-content:space-between;gap:40px;align-items:center;font-size:13px;min-height:54px}.hero .primary{margin-top:22px}.tiny{font-size:11px;line-height:1.7;color:var(--muted)}.meta{margin-top:15px}.stage{position:relative;min-height:535px;display:flex;align-items:center;justify-content:center;background:#e9dfd2;border-radius:48% 48% 0 0;padding:45px 25px 35px}.stage:before{content:'';position:absolute;inset:15px;border:1px solid #c9b6a4;border-radius:48% 48% 0 0}.docket{position:relative;width:100%;max-width:365px;min-height:410px;transform:rotate(-6deg);background:#fcf9f2;box-shadow:8px 15px 40px #58413526;padding:32px;text-align:center;border:1px solid #e4d9cb}.docket:before{content:'';position:absolute;inset:10px;border:1px solid var(--line);pointer-events:none}.docket-top{font-size:8px;letter-spacing:2px;border-bottom:1px solid var(--line);padding-bottom:16px}.monogram{font:italic 62px Georgia;margin:28px 0 14px;color:var(--wine)}.docket h2{font:normal 31px/1.1 Georgia,'Noto Serif JP','Noto Serif KR','Noto Serif SC',serif;margin:10px 0}.docket p{font-size:11px;line-height:1.8;color:var(--muted)}.stamp{display:inline-flex;align-items:center;justify-content:center;width:95px;height:95px;border:2px solid var(--wine);outline:1px solid var(--wine);outline-offset:-7px;border-radius:50%;font-size:10px;letter-spacing:1px;color:var(--wine);transform:rotate(12deg);margin-top:17px;padding:14px;line-height:1.5}.stage-caption{position:absolute;bottom:15px;right:18px;font-size:9px;letter-spacing:1px;color:var(--muted)}.ribbon{background:var(--wine);color:#f5e9dd;display:flex;justify-content:space-around;gap:20px;padding:19px 6%;font-size:10px;letter-spacing:2px;text-transform:uppercase}.how{max-width:1440px;margin:auto;padding:58px 6% 65px;display:grid;grid-template-columns:1fr 2fr;gap:8%}.how h2{font:normal 37px/1.1 Georgia,serif;margin:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.steps b{font:italic 26px Georgia;color:var(--gold)}.steps h3{font-size:13px;font-weight:500}.steps p{font-size:12px;line-height:1.8;color:var(--muted)}footer{padding:24px 6%;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}footer i{padding:0 9px}footer button,.text-button{background:none;border:0;color:inherit;text-decoration:underline;padding:0}.form-shell{max-width:760px;padding:55px 28px 80px;margin:auto}.form-top{display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:1px;color:var(--muted)}.progress{height:2px;background:var(--line);margin:20px 0 45px}.progress span{display:block;height:100%;background:var(--wine);transition:width .3s}.form-shell h1{font-size:52px;line-height:1.15;letter-spacing:-1px;margin:22px 0}.question-note{font-size:13px;line-height:1.8;color:var(--muted)}.options{display:grid;gap:12px;margin:30px 0}.option{display:flex;align-items:center;gap:15px;border:1px solid var(--line);padding:19px;font-size:14px;line-height:1.5;cursor:pointer;background:#faf7f0}.option:has(input:checked){border-color:var(--wine);background:#eae0da}.option input{accent-color:var(--wine);width:18px;height:18px;flex-shrink:0}.actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:26px}.error{color:#94272c;font-size:13px;line-height:1.6}.certificate{position:relative;background:#fcf9f2;padding:45px 30px;border:1px solid var(--gold);text-align:center;box-shadow:0 15px 40px #5841350c;margin:25px 0}.certificate:before{content:'';position:absolute;inset:9px;border:1px solid var(--line);pointer-events:none}.certificate h1{font-size:50px;color:var(--wine)}.certificate .serial{font-size:10px;letter-spacing:2px}.certificate p{max-width:490px;margin:20px auto;font-size:14px;line-height:1.8}.signature{font:italic 36px Georgia}.result-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.secondary{background:transparent;border:1px solid var(--line);padding:15px 20px;color:var(--ink);min-height:48px;font-size:12px}.private{margin-top:45px;border-top:1px solid var(--line);padding-top:25px}.private h2{font:normal 28px Georgia,serif}.consent{display:flex;gap:10px;font-size:12px;line-height:1.8;margin:20px 0}.consent input{accent-color:var(--wine);width:20px;height:20px;flex-shrink:0}.trap{position:absolute;left:-9999px}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);max-width:650px;width:calc(100% - 32px);padding:38px;line-height:1.8}dialog::backdrop{background:#211a1a80}dialog h2{font:normal 32px Georgia,serif}dialog p{font-size:13px}.close{float:right;background:none;border:0;font-size:28px}.skip{position:absolute;top:-60px;background:var(--wine);color:white;padding:15px;z-index:5}.skip:focus{top:5px}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.notice{padding:12px 16px;background:#eae3d8;font-size:12px;line-height:1.8}.receipt{width:100%;margin:10px 0;padding:12px;border:1px solid var(--line);background:white;font-size:12px}html[lang=ja] h1,html[lang=ko] h1,html[lang=zh] h1{font-size:clamp(42px,5vw,72px);line-height:1.3;letter-spacing:-1px}html[lang=ja] .form-shell h1,html[lang=ko] .form-shell h1,html[lang=zh] .form-shell h1{font-size:35px}.fade{animation:enter .35s ease}@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:720px){header{padding:23px 6%}.dept{font-size:8px;letter-spacing:1px}.brand{font-size:39px}.brand span{font-size:7px}select{font-size:11px;max-width:110px}.hero{grid-template-columns:1fr;padding:40px 6% 45px;gap:40px}h1{font-size:76px;letter-spacing:-4px;margin-top:25px}.intro{font-size:14px}.hero .primary{width:100%}.stage{min-height:440px;max-width:460px;width:100%;margin:auto;padding:30px 40px}.docket{min-height:350px;padding:25px}.monogram{margin:18px 0 10px}.docket h2{font-size:29px}.stamp{width:80px;height:80px;font-size:8px}.ribbon{font-size:8px;letter-spacing:1px;gap:10px;text-align:center}.how{grid-template-columns:1fr;gap:30px;padding-top:40px}.steps{gap:18px}.how h2{font-size:32px}.steps h3{line-height:1.5}footer{flex-wrap:wrap;line-height:1.8}.form-shell{padding:35px 6% 55px}.form-shell h1{font-size:38px}.certificate{padding:40px 20px}.certificate h1{font-size:39px}.certificate p{font-size:13px}.result-actions>*{flex:1}.primary{gap:20px}.stage-caption{font-size:8px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media print{header,footer,.result-actions,.private,.form-top,.progress,.restart,.notice{display:none!important}.form-shell{max-width:100%;padding:0}.certificate{box-shadow:none;break-inside:avoid}body{background:white}}
.certificate .signature{font:italic 36px Georgia,serif;margin:25px auto}
