:root{--cta-color:#705888;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP",sans-serif;color:#2c2435;background:#f7f4fa;line-height:1.7;font-size:17px}*{box-sizing:border-box}body{margin:0}main{max-width:680px;margin:auto;padding:24px 18px 48px}h1{font-size:1.8rem;line-height:1.4}h2{font-size:1.2rem}.panel{background:white;border:1px solid #e5dced;border-radius:16px;padding:22px;margin:18px 0}.brand{display:flex;align-items:center;gap:12px}.brand img{width:52px;height:52px;border-radius:18px;box-shadow:4px 4px 0 #d9d0ea;flex-shrink:0}a{color:#623890}button,.button{display:inline-block;font:inherit;background:var(--cta-color);color:white;border:0;border-radius:10px;padding:12px 18px;cursor:pointer;text-decoration:none;min-height:48px;max-width:100%;white-space:normal}button:disabled{opacity:.5;cursor:wait}.secondary{background:var(--cta-color);color:white}label{display:block;margin:16px 0 6px}input{width:100%;padding:12px;font:inherit;border:1px solid #a89aae;border-radius:8px;min-height:48px}#message{white-space:pre-wrap;overflow-wrap:anywhere}#message:empty{display:none}.hint{font-size:.9rem;color:#635769}.notice{background:#fff4cc;padding:10px;border-radius:8px}.device{padding:16px 0;border-bottom:1px solid #eee;overflow-wrap:anywhere}.device button{margin-top:8px}nav{display:flex;flex-wrap:wrap;gap:16px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b18bcc;outline-offset:3px}[hidden]{display:none!important}
:root .local-payment-form label{margin-bottom:28px;}
.local-payment-form input{display:block;margin-top:14px;}
#email-form #email-submit{margin-top:28px;}

#new-registration #register{margin-top:28px;}
#registration details{margin-top:28px;}

.registered-browsers-button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:56px;border-top:1px solid #e5dced;border-bottom:1px solid #e5dced;padding:16px 0;color:var(--cta-color);cursor:pointer;list-style:none}
.registered-browsers-button::after{content:"＋";flex-shrink:0;font-size:1.3em;line-height:1}
#registered-browsers[open]>.registered-browsers-button::after{content:"−"}
.registered-browsers-button::-webkit-details-marker{display:none}
.registered-browsers-button:focus-visible{outline:3px solid #b18bcc;outline-offset:3px}
@media(max-width:600px){#registered-app a{display:flex;width:100%;max-width:280px;min-height:56px;margin-left:auto;margin-right:auto;align-items:center;justify-content:center;font-size:19px;padding:15px 18px}}
#registered-browsers>h2{margin-bottom:8px}
#registered-browsers #devices>.device:first-child{padding-top:0}

.confirmation-steps{padding-left:1.4em;margin:18px 0}.confirmation-steps li{margin:8px 0}

.message-success{background:#eaf6ed;color:#245b36;border-color:#b7d9c0;padding:16px;border-radius:10px}.message-error{background:#fcecec;color:#8c2929;border-color:#e9bcbc;padding:16px;border-radius:10px}.message-warning{background:#fff4cc;color:#715815;padding:16px;border-radius:10px}.message-info{background:#fff;color:#2c2435}.checkout-card{text-align:center}.checkout-price{font-size:2rem;font-weight:800;margin:20px 0}.checkout-card details{text-align:left;margin-top:28px;border-top:1px solid #e5dced;padding-top:18px}.checkout-card summary{cursor:pointer;color:var(--cta-color)}.checkout-card #checkout-start{min-width:240px}.checkout-card form{text-align:left;margin-top:28px}.checkout-card form button{display:block;margin:28px auto 0;min-width:240px}

#purchase-state{white-space:pre-line}

.additional-purchase-link{text-align:right;margin:0 0 20px;font-size:.9rem}.purchase-group h3{font-size:1rem;margin:24px 0 8px}.purchase-group ol{padding-left:1.8em;margin:0}.empty-slot{color:#756b7d}.purchase-group .device:first-child{padding-top:8px}

.purchase-group ol{list-style:none;padding-left:0}

.policy-page h2{margin-top:28px}.policy-page h2:first-child{margin-top:0}.policy-page p,.policy-page li{overflow-wrap:anywhere}.policy-table{overflow:visible}.policy-table table{table-layout:fixed}.policy-table table{width:100%;border-collapse:collapse;font-size:.9rem}.policy-table td{border-bottom:1px solid #e5dced;padding:10px;vertical-align:top;overflow-wrap:anywhere}.policy-table tr:first-child{font-weight:700}
