:root{--color-primary:#b8860b;--color-primary-dark:#8b6508;--color-primary-light:#f5e6c8;--color-bg:#fdf8f0;--color-white:#ffffff;--color-text:#333333;--color-text-light:#666666;--color-text-muted:#999999;--color-border:#e0d5c5;--color-error:#e74c3c;--color-success:#27ae60;--color-charity:#2ecc71;--color-fee-bg:#fff9e6;--color-fee-border:#f0d060;--radius:8px;--radius-lg:12px;--shadow:0 2px 12px rgba(0,0,0,0.08);--shadow-lg:0 4px 24px rgba(0,0,0,0.12);--font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}*,::after,::before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-family);color:var(--color-text);background:var(--color-bg);line-height:1.6;padding-bottom:env(safe-area-inset-bottom,0)}a{color:var(--color-primary);text-decoration:none}a:active,a:hover{text-decoration:underline}ol,ul{list-style:none;padding-left:0}img{max-width:100%;display:block}.header{background:linear-gradient(135deg,#1a1a2e 0,#16213e 50%,#0f3460 100%);color:#fff;padding:24px 16px 20px;text-align:center}.header__logo{margin-bottom:12px}.header__logo-placeholder{display:inline-block;width:80px;height:80px;border-radius:50%;border:2px solid var(--color-primary);line-height:80px;font-size:14px;color:var(--color-primary);background:rgba(184,134,11,.1)}.header__title{font-size:20px;font-weight:700;margin-bottom:12px;letter-spacing:2px;color:var(--color-primary-light)}.header__org{font-size:13px;color:rgba(255,255,255,.8);line-height:1.8;margin-bottom:10px}.header__org strong{color:var(--color-primary)}.header__notice-link{display:inline-block;font-size:13px;color:var(--color-primary);border:1px solid var(--color-primary);border-radius:20px;padding:4px 16px;margin-top:4px}.section{padding:20px 16px}.section__title{font-size:18px;font-weight:700;color:var(--color-text);margin-bottom:12px;padding-left:10px;border-left:3px solid var(--color-primary)}.section__subtitle{font-size:15px;font-weight:600;margin:16px 0 8px;color:var(--color-text)}.section__text{font-size:14px;color:var(--color-text-light);line-height:1.8}.group-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.group-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius);padding:12px;text-align:center}.group-card strong{display:block;font-size:15px;color:var(--color-primary-dark);margin-bottom:4px}.group-card span{font-size:12px;color:var(--color-text-muted)}.category-list{margin-top:8px}.category-item{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:6px;overflow:hidden}.category-item summary{padding:12px;cursor:pointer;font-size:14px;list-style:none;display:flex;align-items:center}.category-item summary::-webkit-details-marker{display:none}.category-item summary::after{content:"▼";margin-left:auto;font-size:10px;color:var(--color-text-muted);transition:transform .2s}.category-item[open] summary::after{transform:rotate(180deg)}.category-item p{padding:0 12px 12px;font-size:13px;color:var(--color-text-light);line-height:1.7}.benefit-list{margin-top:8px}.benefit-list li{font-size:14px;padding:6px 0 6px 20px;position:relative;color:var(--color-text-light)}.benefit-list li::before{content:"✓";position:absolute;left:0;color:var(--color-success);font-weight:700}.cta-bar{padding:16px;position:sticky;bottom:0;background:linear-gradient(transparent,var(--color-bg) 20%);z-index:10}.btn{display:inline-block;border:none;border-radius:var(--radius);font-size:15px;font-family:inherit;cursor:pointer;padding:10px 24px;text-align:center;transition:opacity .2s,background .2s}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:not(:disabled):hover{background:var(--color-primary-dark)}.btn--outline{background:0 0;color:var(--color-text-light);border:1px solid var(--color-border)}.btn--large{width:100%;padding:14px;font-size:17px;font-weight:600;border-radius:var(--radius-lg)}.btn--submit{margin-top:16px}.form-section{background:var(--color-white);border-radius:var(--radius-lg) var(--radius-lg) 0 0;margin-top:-8px;padding-top:24px}.form-group{margin-bottom:18px}.form-group>label:first-child{display:block;font-size:14px;font-weight:600;margin-bottom:6px;color:var(--color-text)}.required{color:var(--color-error)}input[type=tel],input[type=text],select,textarea{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:15px;font-family:inherit;background:var(--color-white);color:var(--color-text);transition:border-color .2s;-webkit-appearance:none;appearance:none}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--color-primary)}textarea{resize:vertical;min-height:80px}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23999' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.form-hint{display:block;font-size:12px;color:var(--color-text-muted);margin-top:4px}.form-error{display:block;font-size:12px;color:var(--color-error);margin-top:4px;min-height:0}.checkbox-group{display:flex;flex-wrap:wrap;gap:8px}.checkbox-label{display:flex;align-items:flex-start;gap:6px;font-size:14px;cursor:pointer;line-height:1.5}.checkbox-label input[type=checkbox]{width:18px;height:18px;margin-top:2px;flex-shrink:0;accent-color:var(--color-primary)}.checkbox-label--guardian{background:#fff8e1;padding:12px;border-radius:var(--radius);border:1px solid #ffe082}.checkbox-label--final{background:var(--color-primary-light);padding:12px;border-radius:var(--radius);border:1px solid var(--color-border)}.health-options{display:flex;flex-direction:column;gap:0}.radio-group{display:grid;grid-template-columns:1fr 1fr;gap:8px}.radio-card{cursor:pointer}.radio-card input[type=radio]{display:none}.radio-card__box{display:block;text-align:center;padding:12px 8px;border:2px solid var(--color-border);border-radius:var(--radius);font-size:15px;font-weight:600;color:var(--color-text-light);transition:.2s;background:var(--color-white)}.radio-card input[type=radio]:checked+.radio-card__box{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary-dark)}.companion-section{margin:18px 0;padding:16px;background:#f8f6f2;border:1px solid var(--color-border);border-radius:var(--radius-lg)}.companion-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius);padding:14px;margin-bottom:10px}.companion-card:last-child{margin-bottom:0}.companion-card__title{font-size:14px;font-weight:700;color:var(--color-primary-dark);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #f0f0f0}.companion-card .form-group{margin-bottom:12px}.companion-card .form-group:last-child{margin-bottom:0}.radio-inline{display:flex;gap:16px}.radio-inline label{display:flex;align-items:center;gap:4px;font-size:14px;cursor:pointer}.radio-inline input[type=radio]{width:16px;height:16px;accent-color:var(--color-primary)}.link-agree{text-decoration:underline}.photo-upload{display:flex;flex-wrap:wrap;gap:8px}.photo-upload__item{width:90px;height:90px;border-radius:var(--radius);border:1px dashed var(--color-border);overflow:hidden;position:relative}.photo-upload__add{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fafafa;cursor:pointer}.photo-upload__add span{font-size:28px;color:var(--color-text-muted);line-height:1}.photo-upload__add small{font-size:11px;color:var(--color-text-muted);margin-top:4px}.photo-upload__preview{position:relative}.photo-upload__preview img{width:100%;height:100%;object-fit:cover}.photo-upload__preview .photo-delete{position:absolute;top:2px;right:2px;width:20px;height:20px;background:rgba(0,0,0,.5);color:#fff;border:none;border-radius:50%;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.minor-fields{background:#fff8e1;border:1px solid #ffe082;border-radius:var(--radius);padding:16px;margin-bottom:18px}.minor-notice{margin-bottom:12px}.minor-notice strong{font-size:15px;color:#e65100;display:block;margin-bottom:4px}.minor-notice p{font-size:13px;color:#bf360c;line-height:1.6}.fee-board{background:var(--color-fee-bg);border:1px solid var(--color-fee-border);border-radius:var(--radius-lg);padding:16px;margin:24px 0 18px}.fee-board__title{font-size:16px;font-weight:700;color:#b8860b;text-align:center;margin-bottom:12px}.fee-board__body{font-size:14px;color:var(--color-text-light);line-height:1.8}.fee-board__highlight{background:#fff;padding:8px 12px;border-radius:var(--radius);border-left:3px solid var(--color-success);margin-bottom:10px;font-weight:600;color:var(--color-success)}.fee-board__price{text-align:center;font-size:36px;font-weight:700;color:var(--color-primary-dark);margin:8px 0 4px}.fee-board__label{text-align:center;font-size:13px;color:var(--color-text-muted);margin-bottom:10px}.fee-board__list{margin:8px 0}.fee-board__list li{padding:4px 0 4px 20px;position:relative;font-size:14px}.fee-board__list li::before{content:"•";position:absolute;left:6px;color:var(--color-primary);font-weight:700}.fee-board__note{font-size:12px;color:var(--color-text-muted);margin:8px 0;padding:8px;background:rgba(255,255,255,.6);border-radius:var(--radius)}.fee-board__charity{background:#e8f5e9;border-radius:var(--radius);padding:10px;margin-top:10px}.fee-board__charity strong{color:#2e7d32;display:block;margin-bottom:4px}.fee-board__charity p{font-size:13px;color:#33691e}.footer{background:#1a1a2e;color:rgba(255,255,255,.7);padding:24px 16px;font-size:13px;line-height:1.8}.footer__section{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.footer__section h3{font-size:14px;color:var(--color-primary);margin-bottom:6px}.footer__complaint{color:var(--color-primary)}.footer__org{text-align:center;font-size:12px;color:rgba(255,255,255,.4);padding-top:8px}.modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center}.modal__overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5)}.modal__content{position:relative;background:var(--color-white);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:500px;max-height:85vh;display:flex;flex-direction:column;animation:.3s slideUp}.modal__content--detail{max-height:90vh}.modal__content--small{max-height:none;border-radius:var(--radius-lg);margin:0 16px;align-self:center;text-align:center;padding:32px 24px}@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}.modal__header{padding:20px 16px 12px;border-bottom:1px solid var(--color-border);flex-shrink:0}.modal__header h2{font-size:17px;margin-bottom:4px}.modal__header p{font-size:13px;color:var(--color-text-muted)}.modal__body{padding:16px;overflow-y:auto;flex:1}.modal__body--scroll{font-size:14px;line-height:1.9;color:var(--color-text-light)}.modal__body--scroll h3{font-size:15px;color:var(--color-text);margin:16px 0 8px}.modal__body--scroll p{margin-bottom:10px}.modal__body--scroll ul{padding-left:20px;margin-bottom:10px}.modal__body--scroll ul li{list-style:disc;margin-bottom:4px}.modal__footer{padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0));display:flex;gap:10px;border-top:1px solid var(--color-border);flex-shrink:0}.modal__footer .btn{flex:1}.modal__checkbox{display:flex;align-items:center;gap:8px;margin-top:16px;padding:12px;background:var(--color-primary-light);border-radius:var(--radius);cursor:pointer;font-size:14px;font-weight:600}.modal__checkbox input[type=checkbox]{width:20px;height:20px;flex-shrink:0;accent-color:var(--color-primary)}.agree-item{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #f0f0f0}.agree-item:last-child{border-bottom:none}.agree-item__icon{width:28px;height:28px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.agree-item__text{flex:1;min-width:0}.agree-item__text strong{font-size:14px;display:block}.agree-item__text p{font-size:12px;color:var(--color-text-muted);margin-top:2px}.btn-view{background:0 0;border:1px solid var(--color-primary);color:var(--color-primary);font-size:12px;padding:4px 12px;border-radius:20px;cursor:pointer;font-family:inherit;flex-shrink:0}.btn-back{background:0 0;border:none;font-size:15px;color:var(--color-primary);cursor:pointer;font-family:inherit;padding:0;margin-bottom:8px}.success-icon{width:60px;height:60px;border-radius:50%;background:var(--color-success);color:#fff;font-size:30px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.modal__content--small h2{font-size:18px;margin-bottom:8px}.modal__content--small p{font-size:14px;color:var(--color-text-light);margin-bottom:20px;line-height:1.7}.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea{border-color:var(--color-error)}.payment-section{margin-top:16px;padding-top:16px;border-top:1px dashed var(--color-border);text-align:center}.payment-section__title{font-size:15px;font-weight:600;color:var(--color-text);margin-bottom:4px}.payment-section__amount{font-size:32px;font-weight:700;color:var(--color-primary-dark);margin:8px 0}.payment-section__unit{font-size:13px;color:var(--color-text-muted);margin-bottom:4px}.payment-section__desc{font-size:12px;color:var(--color-text-muted);margin-bottom:12px}.payment-section__note{font-size:11px;color:var(--color-text-muted);margin-top:8px}.payment-btn{width:100%;font-size:16px}.pay-success-badge{display:inline-flex;align-items:center;gap:6px;background:#e8f5e9;color:#2e7d32;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600;margin-top:8px}.pay-success-badge__icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#2e7d32;color:#fff;font-size:12px}.payment-mode-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.payment-mode-badge--debug{background:#fff3e0;color:#e65100}.payment-mode-badge--prod{background:#e3f2fd;color:#1565c0}.payment-amount-display{font-size:36px;font-weight:700;color:var(--color-primary-dark);text-align:center;margin:12px 0}@media (min-width:500px){body{max-width:500px;margin:0 auto;box-shadow:var(--shadow-lg)}}