/* Adopted trial prototype; every rule is confined to the trial main region. */
.trial-local { --tf-ink:#052a5f; --tf-blue:#2766b9; --tf-line:#b9d2f0; --tf-muted:#526781; color:var(--tf-ink); background:#f7fafe; font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif; font-size:16px; line-height:1.8; }
.trial-local * { box-sizing:border-box; }
.trial-local p,.trial-local h1,.trial-local h2 { margin:0; }
.trial-local .tf-shell { width:min(940px,calc(100% - 80px)); margin:auto; padding:46px 0 72px; }
.trial-local .tf-intro { padding-bottom:38px; }
.trial-local .tf-eyebrow { font-family:Arial,sans-serif; color:var(--tf-blue); font-size:12px; letter-spacing:.18em; margin-bottom:12px; }
.trial-local h1 { font-family:"Yu Mincho","Hiragino Mincho ProN",serif; font-size:38px; line-height:1.5; letter-spacing:.025em; }
.trial-local .tf-test { margin-top:18px; font-size:14px; color:var(--tf-muted); }
.trial-local .tf-form,.trial-local .tf-result { background:white; border-top:3px solid var(--tf-blue); padding:30px 48px 40px; }
.trial-local .tf-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; padding-bottom:26px; border-bottom:1px solid var(--tf-line); margin-bottom:30px; }
.trial-local h2 { font-size:21px; line-height:1.7; letter-spacing:.04em; }
.trial-local .tf-heading p { font-size:13px; color:var(--tf-muted); }
.trial-local .tf-fields { display:grid; gap:28px; }
.trial-local .tf-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.trial-local .tf-field { min-width:0; margin:0; padding:0; border:0; }
.trial-local .tf-field>label:not(.tf-choice),.trial-local legend { display:block; margin-bottom:10px; padding:0; font-size:16px; font-weight:700; max-width:100%; }
.trial-local .tf-required,.trial-local .tf-optional { display:inline-block; vertical-align:middle; margin-left:7px; padding:1px 7px; font-size:11px; font-weight:500; line-height:1.7; white-space:nowrap; }
.trial-local .tf-required { background:#eaf2fc; color:#073575; }
.trial-local .tf-optional { background:#f1f4f8; color:var(--tf-muted); }
.trial-local .tf-heading .tf-required { margin-left:0; }
.trial-local input:not([type=radio]):not([type=checkbox]),.trial-local select,.trial-local textarea { display:block; width:100%; min-width:0; min-height:52px; padding:12px 15px; border:1px solid var(--tf-line); border-radius:3px; background:white; color:var(--tf-ink); font:inherit; font-size:16px; line-height:1.6; }
.trial-local select { padding-right:32px; }
.trial-local textarea { resize:vertical; min-height:152px; }
.trial-local ::placeholder { color:#738196; opacity:1; }
.trial-local :where(input,select,textarea,button,a):focus-visible { outline:3px solid var(--tf-blue); outline-offset:3px; }
.trial-local .tf-subjects,
.trial-local .tf-schools { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 18px; }
.trial-local .tf-choice { display:flex; align-items:center; min-height:48px; padding:10px 4px; gap:10px; cursor:pointer; font-size:16px; font-weight:400; line-height:1.7; }
.trial-local .tf-choice:hover { background:#f7fafe; }
.trial-local .tf-choice input { flex:0 0 20px; width:20px; height:20px; margin:0; accent-color:var(--tf-blue); cursor:pointer; }
.trial-local .tf-schools .tf-choice { border-bottom:1px solid var(--tf-line); }
.trial-local .tf-note { font-size:14px; color:var(--tf-muted); margin-bottom:8px; }
.trial-local .tf-weekdays { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:0 16px; }
.trial-local .tf-subjects .tf-choice { border-bottom:1px solid var(--tf-line); }
.trial-local .tf-consent { border-top:1px solid var(--tf-line); margin-top:34px; padding-top:24px; }
.trial-local .tf-consent legend { float:left; width:100%; }
.trial-local .tf-consent .tf-choice { clear:both; padding:12px 4px; align-items:flex-start; }
.trial-local .tf-consent input { margin-top:4px; }
.trial-local .tf-consent a { color:var(--tf-blue); text-decoration:underline; text-underline-offset:.2em; }
.trial-local .tf-actions { text-align:center; margin-top:28px; }
.trial-local .tf-submit { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; width:min(100%,360px); min-height:60px; padding:16px 26px; border:1px solid var(--tf-blue); border-radius:3px; color:white; background:var(--tf-blue); font:inherit; font-size:16px; font-weight:700; cursor:pointer; }
.trial-local .tf-submit:hover { background:#073575; }
.trial-local .tf-error { color:#a12b36; font-size:14px; line-height:1.7; margin-top:8px; }
.trial-local .tf-error::before { content:"! "; font-weight:700; }
.trial-local [aria-invalid=true] { border-color:#a12b36 !important; }
.trial-local .tf-summary { border-left:3px solid #a12b36; background:#fff7f8; color:#a12b36; padding:16px 18px; margin-bottom:28px; font-size:14px; }
.trial-local .tf-result p { margin:16px 0; }
.trial-local .tf-result a { color:var(--tf-blue); text-decoration:underline; }
.trial-local .tf-trap { display:none; }
@media(max-width:767px) {
 .trial-local .tf-shell { width:100%; padding:32px 0 40px; }
 .trial-local .tf-intro { padding:0 20px 28px; }
 .trial-local h1 { font-size:27px; line-height:1.6; letter-spacing:0; }
 .trial-local .tf-form,.trial-local .tf-result { padding:24px 20px 32px; }
 .trial-local .tf-heading { display:block; padding-bottom:20px; margin-bottom:26px; }
 .trial-local .tf-heading p { margin-top:9px; }
 .trial-local h2 { font-size:20px; }
 .trial-local .tf-fields,.trial-local .tf-pair { grid-template-columns:minmax(0,1fr); gap:26px; }
 .trial-local .tf-subjects { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; }
 .trial-local .tf-schools { grid-template-columns:minmax(0,1fr); }
 .trial-local .tf-schools .tf-choice { min-height:52px; }
 .trial-local .tf-weekdays { grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px 16px; }
 .trial-local .tf-consent { margin-top:30px; }
 .trial-local .tf-consent .tf-choice { font-size:15px; line-height:1.8; }
 .trial-local .tf-submit { width:100%; padding-inline:22px; }
}
