.entry-page{padding:30px 0 48px;overflow-x:clip}
html:has(.entry-page),html:has(.entry-page) body{overflow-x:clip}
.entry-page .breadcrumb{font-size:14px;margin-bottom:20px}
.entry-page .breadcrumb span{margin:0 6px;color:#9aa0ad}
.entry-page h1{font-size:clamp(1.6rem,3vw,2.2rem);color:#b71b54;letter-spacing:.02em;margin-bottom:.6rem}
.entry-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;align-items:start}
.entry-lead{margin-bottom:28px}
.entry-info{background:#fff8fb;border:1px solid #f5d5e2;border-radius:18px;padding:22px 24px;font-size:15px;line-height:1.8;position:sticky;top:20px}
.entry-info h2{font-size:1.05rem;color:#b71b54;margin:0 0 .4rem}
.entry-info h2:not(:first-child){margin-top:1.1rem}
.entry-info ul{margin:0;padding-left:1.2em}
.entry-info p{margin:0}
.entry-form fieldset{border:0;margin:0 0 26px;padding:0;min-width:0}
.entry-form div[data-field]{margin-bottom:26px}
.entry-form legend,.entry-form .label{font-weight:bold;font-size:17px;margin-bottom:8px;padding:0;display:block}
.req,.opt{display:inline-block;font-size:12px;font-weight:bold;border-radius:4px;padding:1px 7px;margin-left:8px;vertical-align:2px}
.req{background:#df2468;color:#fff}
.opt{background:#eef0f4;color:#5b6475}
.hint{font-size:14px;color:#5b6475;margin:-2px 0 8px}
.entry-form input[type=text],.entry-form input[type=email],.entry-form input[type=tel],.entry-form input[type=date],.entry-form select,.entry-form textarea{width:100%;font:inherit;font-size:17px;padding:12px 14px;border:1.5px solid #cfd4de;border-radius:12px;background:#fff;color:#243047}
.entry-form textarea{min-height:130px;resize:vertical}
.entry-form input,.entry-form select,.entry-form textarea{max-width:100%;min-width:0;box-sizing:border-box}
.entry-form input[type=date]{-webkit-appearance:none;appearance:none;display:block;min-height:52px;text-align:left}
.entry-form input[type=date]::-webkit-date-and-time-value{text-align:left}
.entry-form input:focus,.entry-form select:focus,.entry-form textarea:focus{outline:3px solid #ffdf2d;outline-offset:1px;border-color:#b8a100}
.choice{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1.5px solid #e1e4ea;border-radius:12px;margin-bottom:8px;cursor:pointer;line-height:1.6}
.choice input{margin-top:5px;width:18px;height:18px;flex-shrink:0;accent-color:#df2468}
.choice.is-full{color:#9aa0ad;cursor:not-allowed;background:#f7f7fa}
.choice:has(input:checked){border-color:#df2468;background:#fff5f9}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}
.course-row{display:grid;grid-template-columns:1fr 150px;gap:12px;align-items:center;margin-bottom:12px}
.course-row label{font-weight:bold;line-height:1.4}
.course-row small{display:block;font-weight:normal;font-size:14px;color:#5b6475}
.month-row{display:grid;grid-template-columns:1fr;max-width:260px}
.field-error{color:#c0133d;font-size:14px;font-weight:bold;margin:6px 0 0}
.is-invalid input[type=text],.is-invalid input[type=email],.is-invalid input[type=tel],.is-invalid input[type=date],.is-invalid select{border-color:#c0133d}
.form-alert{border-radius:12px;padding:14px 16px;margin:0 0 20px;font-weight:bold;background:#fff1f3;color:#a3102f;border:1px solid #f3c0cb}
.form-status{font-size:15px;color:#5b6475;margin:0}
.form-status:empty{display:none}
.submit-note{font-size:13px;line-height:1.6;color:#5b6475;margin:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.submit-row{display:flex;flex-direction:column;gap:16px;align-items:flex-start;margin-top:8px}
.entry-form button[type=submit]{font:inherit;font-size:18px;min-width:280px;cursor:pointer;border:0}
.entry-form button[disabled]{opacity:.6;cursor:progress}
.thanks-box{max-width:720px;margin:10px auto 0;text-align:center}
.thanks-box .receipt{display:inline-block;background:#f7f7fa;border-radius:10px;padding:6px 16px;font-weight:bold;letter-spacing:.05em;margin:6px 0 18px}
.thanks-box .note{background:#fff8e0;border:1px solid #f0dc8a;border-radius:12px;padding:14px 16px;text-align:left;margin:0 0 20px}
.thanks-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}
@media (max-width:900px){.entry-grid{grid-template-columns:1fr}.entry-info{position:static;order:-1}}
@media (max-width:600px){.checks{grid-template-columns:1fr}.course-row{grid-template-columns:minmax(0,1fr) 128px}.entry-form button[type=submit]{width:100%;min-width:0}}

.privacy-page h1{margin-bottom:1rem}
.privacy-page h2{font-size:1.2rem;color:#b71b54;margin:2rem 0 .6rem}
.privacy-page p,.privacy-page li{font-size:16px}
.privacy-page ul{padding-left:1.3em;margin:0 0 1rem}
.table-scroll{overflow-x:auto;margin:0 0 1rem}
.privacy-table{border-collapse:collapse;width:100%;min-width:560px;font-size:14px;line-height:1.7}
.privacy-table th,.privacy-table td{border:1px solid #e5e5eb;padding:10px 12px;vertical-align:top;text-align:left}
.privacy-table th{background:#f7f7fa}
.privacy-page .requirements dt,.privacy-page .requirements dd{padding:10px 14px;margin:0;font-size:15px}
.privacy-date{color:#5b6475;font-size:14px;margin-top:1.5rem}
.privacy-link{font-size:13px;margin:0;color:#5b6475}
