:root{--color-primary: #009688;--color-primary-light: #00bcd4;--color-error: #ff0000;--color-text: #333;--color-text-light: #666;--color-text-muted: #b0b0b0;--color-bg: #fff;--color-bg-disabled: #f0f0f0;--color-border: #ccc;--color-border-light: #eee;--max-width: 700px;--form-max-width: 550px}*,*:before,*:after{box-sizing:border-box}body{font-family:Helvetica Neue,sans-serif;background-color:var(--color-bg);color:var(--color-text);line-height:1.6;margin:2rem auto;max-width:var(--max-width);padding:1rem}a{color:var(--color-primary-light);text-decoration:none}a:hover{text-decoration:underline}hr{border:none;border-top:1px solid var(--color-border-light);margin:2rem 0}h1{color:var(--color-primary);font-size:1.8rem;margin-bottom:.5rem;text-align:center;font-weight:400}h2{color:var(--color-primary);font-size:1.3rem;margin-bottom:.5rem;font-weight:400;text-align:center}h3{color:var(--color-primary);font-size:1rem;margin-bottom:.5rem;font-weight:400;text-align:center}.form-label{display:block;font-size:1rem;font-weight:400;margin-bottom:.5rem;line-height:1.5}.required-badge{background-color:var(--color-error);color:#fff;padding:3px 5px;font-size:.7rem;border-radius:4px;margin-left:.4em;vertical-align:middle}.optional-badge{background-color:#607d8b;color:#fff;padding:3px 5px;font-size:.7rem;border-radius:4px;margin-left:.4em;vertical-align:middle}.top-title{max-width:600px;margin:0 auto}.below-form{max-width:var(--form-max-width);margin:0 auto}.attention{font-size:.9rem;color:var(--color-text-light);margin-bottom:.5rem}.deadline{font-size:1rem;color:var(--color-primary-light);margin-bottom:.5rem;text-align:center}.description{font-size:.8rem;color:var(--color-text-muted);margin-bottom:.5rem}.form-group{margin-top:3rem;margin-bottom:3rem}.form-group-input>div,.form-group-email>div{max-width:var(--form-max-width);min-width:150px}.form-group-input>input{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:4px;font-size:1rem}.form-group-email>input{background-color:var(--color-bg-disabled);width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:4px;font-size:1rem}.form-inline-name,.form-inline-postal,.form-inline-school-name-code,.form-inline-kensaku{display:flex;gap:1rem}.form-inline-name>div,.form-inline-postal>div,.form-inline-school-name-code>div,.form-inline-kensaku>div{flex:1}.form-inline-postal{flex-wrap:wrap;margin-top:.5rem}.form-inline-postal>div{min-width:150px}.form-inline-school-name-code{margin-bottom:2rem}.form-inline-school-name-code input{background-color:var(--color-bg-disabled)}input[type=text],input[type=email],input[type=date],input[type=tel],select{width:100%;max-width:var(--form-max-width);padding:.6rem .8rem;font-size:1rem;border:1px solid var(--color-border);border-radius:6px;transition:border-color .2s ease;font-family:inherit}textarea{width:100%;max-width:525px;min-height:100px;padding:.5rem .75rem;font-size:1rem;border:1px solid var(--color-border);border-radius:6px;transition:border-color .2s ease;font-family:inherit;resize:vertical}::placeholder{color:var(--color-text-muted)}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);outline:none;background-color:var(--color-bg)}button[type=submit],input[type=submit]{background-color:var(--color-primary);color:#fff;border:none;padding:.8rem 1.2rem;border-radius:6px;font-size:1rem;cursor:pointer;transition:background-color .3s ease;width:100%}button[type=submit]:hover,input[type=submit]:hover{background-color:#00796b}button[type=submit]:disabled{background-color:var(--color-border);cursor:not-allowed}.btn-search{background-color:var(--color-primary);color:#fff;border:none;padding:.5rem 1rem;height:2.5rem;border-radius:6px;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.btn-search:hover{background-color:#00796b}.error-highlight{border:2px solid var(--color-error)!important;background-color:#fff0f0}.error-text{display:none;color:var(--color-error);font-size:.9em;margin-top:4px}.error-text.show{display:block}.char-count{font-size:.85rem;color:var(--color-text-muted);text-align:right;margin-top:.25rem}.char-count.over{color:var(--color-error);font-weight:700}.suggestion-list{border:1px solid var(--color-border);border-radius:8px;max-height:200px;overflow-y:auto;padding:0;margin-top:.75rem;list-style:none;background-color:var(--color-bg);box-shadow:0 2px 8px #0000000d;font-size:1rem;text-align:center;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.suggestion-list::-webkit-scrollbar{width:8px}.suggestion-list::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:4px}.suggestion-list li{padding:.75rem 1rem;border-bottom:1px solid var(--color-border-light);cursor:pointer;transition:background-color .2s ease}.suggestion-list li:hover{background-color:#f0faf7;color:#009c7a}.suggestion-list li:last-child{border-bottom:none}.suggestion-list-placeholder{padding:.7rem;background-color:#f0faf7;color:#009c7a;font-size:.95rem}.suggestion-list-hint{padding:.7rem;background-color:#f5f5f5;color:#888;font-size:.85rem;cursor:default;text-align:center}.suggestion-list-hint:hover{background-color:#f5f5f5;color:#888}.suggestion-list-not-found{padding:.75rem 1rem;background-color:#f0faf7;color:#009c7a;font-weight:700;text-align:center;cursor:pointer}.suggestion-list-not-found:hover{background-color:#e0f5ef}.school-search-input-wrapper{position:relative}.school-search-dropdown{position:absolute;top:100%;left:0;right:0;z-index:100;background:#fff;border:1px solid var(--color-border);border-radius:8px;box-shadow:0 4px 12px #0000001a;max-height:300px;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s}.school-search-dropdown.is-open{opacity:1;visibility:visible;transform:translateY(4px)}.school-search-dropdown-list{list-style:none;padding:0;margin:0}.school-search-dropdown-list li{padding:.75rem 1rem;border-bottom:1px solid var(--color-border-light);cursor:pointer;transition:background-color .15s ease}.school-search-dropdown-list li:hover{background-color:#f0faf7;color:#009c7a}.school-search-dropdown-list li:last-child{border-bottom:none}.school-search-dropdown-list .suggestion-list-hint{padding:.75rem 1rem;background-color:#f5f5f5;color:#888;font-size:.85rem;cursor:default;text-align:center}.school-search-dropdown-list .suggestion-list-hint:hover{background-color:#f5f5f5;color:#888}.checkbox-wrapper{border:1px solid var(--color-border);padding:.6rem;border-radius:6px;margin-top:.5rem;display:flex;align-items:center;gap:.5rem}.checkbox-wrapper:has(input:disabled){opacity:.5}input[type=checkbox]{transform:scale(1.3);accent-color:var(--color-primary);margin:0;flex-shrink:0}.radio-wrapper{border:1px solid var(--color-border);padding:.6rem;border-radius:6px;margin-top:.5rem;display:flex;align-items:center;gap:.5rem}input[type=radio]{transform:scale(1.3);accent-color:var(--color-primary);margin:0;flex-shrink:0}@media screen and (max-width:600px){body{padding:10px;font-size:16px}.top-title h1,.top-title h2,.top-title h3{font-size:1.2rem;text-align:center}.form-inline-name,.form-inline-postal,.form-inline-school-name-code,.form-inline-kensaku{flex-direction:column;gap:8px}.form-inline-name>div,.form-inline-postal>div,.form-inline-school-name-code>div{width:100%}input[type=text],input[type=date],select,textarea{width:100%;font-size:16px}.form-group,.form-group-email,.form-group-input{padding:10px 0}.btn-search{width:100%}.suggestion-list{max-height:150px}}
