:root {
  --ink: #25282c;
  --green: #4263e8;
  --paper: #faf9f6;
  --muted: #616b7a;
  --line: #dce1ec;
  --lime: #e9edfc;
}
body { background: var(--paper); }
.button:disabled { opacity: .55; cursor: not-allowed; transform: none; }
#form-status { overflow-wrap: anywhere; }
.monado-banner { grid-column: 1 / -1; margin: -30px 0 5px; padding: 15px 20px; border-left: 3px solid #4263e8; background: #edf0fa; font-size: 12px; }
.monado-banner strong { margin-left: 16px; font-size: 17px; font-weight: 600; }
.monado-banner > span { display: block; color: var(--muted); font-size: 11px; margin-top: 3px; }
.partnership { border-bottom: 1px solid var(--line); }
.partnership > p:not(.eyebrow) { max-width: 780px; color: var(--muted); }
.partner-roles { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 30px; }
.partner-roles article { padding: 28px; border: 1px solid var(--line); background: white; }
.partner-roles article:first-child { border-top: 3px solid #4263e8; }
.partner-roles article > span { font-size: 12px; color: #4263c2; }
.partner-roles h3 { font-size: 22px; line-height: 1.7; }
.partner-roles h3 small { font-size: 15px; }
.partner-roles p { color: var(--muted); }
.partner-contact { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 25px; }
.partner-contact p { font-size: 12px; }
header { border-top: 5px solid #4263e8; background: #f7f4ed; }
.brand { color: #3459be; }
.eyebrow { color: #4263c2; }
.hero { background: #f7f4ed; }
h1 { font-family: 'Noto Sans JP', sans-serif; font-weight: 700; letter-spacing: .035em; }
.button { background: linear-gradient(115deg, #4263d6, #697fce); }
.button:hover { background: #3454c6; }
.text-link { border-color: #9baee6; }
.hero-art { background: radial-gradient(ellipse at 75% 30%, #f6f4ed, transparent 60%), linear-gradient(130deg, #e3e9f8, #efede7); }
.art-caption { color: #566aa6; }
.shape { box-shadow: 15px 20px 35px #24345e20; }
.shape-one { background: linear-gradient(100deg, #5471b6, #a0b3df); }
.shape-two { background: linear-gradient(100deg, #a4b2d1, #dae1f3); }
.shape-three { background: linear-gradient(120deg, #fff7e9, #dec9a6); }
.orbit { border-color: #93a9df66; }
.art-tag { background: #fffefbea; }
.art-tag span { color: #4d68b5; }
.art-footer { border-color: #899cc155; }
.support, .profile { background: #f3f4f7; }
.card-symbol, .number { color: #4263c2; }
.program-pair article:last-child { background: #edf0fa; }
.session-note { border-color: #cad3ec; }
.flow { background: #101b2d; color: #faf9f6; }
.flow .eyebrow { color: #a5b5e5; }
.steps article > span { color: #a5b5e5; }
.steps p, .privacy { color: #d1d8e7; }
.featured { background: #e9edfc; }
.profile-mark { background: #e3e8f6; color: #627bb6; }
.contact { background: #f7f4ed; }
label > span { color: #4662ad; }
input, textarea { border-color: #cdd4e3; background: #fffefa; }
input:focus, textarea:focus, a:focus-visible, button:focus-visible, summary:focus-visible { outline-color: #4263e8; }
@media (max-width: 600px) {
  .monado-banner { margin-top: -10px; padding: 14px; }
  .monado-banner strong { display: block; margin-left: 0; }
  .partner-roles { grid-template-columns: 1fr; gap: 15px; }
  .partner-roles article { padding: 22px; }
  .partner-roles h3 { font-size: 20px; }
  .partner-contact { display: block; }
  .partner-contact .button { width: 100%; }
  h1 { font-size: clamp(29px, 8.7vw, 41px); }
}
