.page-template-contact #content{padding:0!important}.page-template-contact .l-content{max-width:none!important;margin:0!important;padding:0!important}.page-template-contact .l-mainContent{width:100%!important;max-width:none!important;padding:0!important}.page-template-contact .l-sidebar{display:none!important}
.itoba-contact-directory{--contact-navy:#04384c;--contact-teal:#0e7c86;--contact-lime:#d9ef8d;--contact-cream:#fbf8f0;--contact-mist:#eef4f1;--contact-ink:#16323c;--contact-muted:#64777d;--contact-line:#d9e4e0;color:var(--contact-ink);background:#f7f9f6}.itoba-contact-directory *{box-sizing:border-box}.itoba-contact-container{width:min(900px,calc(100% - 48px));margin:0 auto}
.itoba-contact-hero{padding:64px 0 60px;background:linear-gradient(125deg,var(--contact-cream),#edf5f1);border-bottom:1px solid var(--contact-line)}.itoba-contact-breadcrumb{display:flex;gap:9px;margin-bottom:34px;color:var(--contact-muted);font-size:12px}.itoba-contact-breadcrumb a{color:var(--contact-teal)}.itoba-contact-eyebrow{margin:0 0 13px!important;color:var(--contact-teal);font-size:11px!important;font-weight:900;letter-spacing:.18em}.itoba-contact-hero h1{margin:0;color:var(--contact-navy);font-size:clamp(40px,6vw,68px);line-height:1.13;letter-spacing:-.045em}.itoba-contact-hero>div>p:last-child{margin:22px 0 0;color:var(--contact-muted);font-size:16px;line-height:1.9}.itoba-contact-content{padding:54px 0 96px}
.itoba-contact-note{margin-bottom:20px;padding:19px 22px;background:var(--contact-mist);border-left:4px solid var(--contact-teal);border-radius:0 12px 12px 0}.itoba-contact-note strong{color:var(--contact-navy);font-size:14px}.itoba-contact-note p{margin:5px 0 0;color:var(--contact-muted);font-size:12px}.itoba-contact-message{margin-bottom:20px;padding:20px 22px;border-radius:14px}.itoba-contact-message strong{display:block;margin-bottom:5px}.itoba-contact-message p,.itoba-contact-message ul{margin:0;font-size:13px}.itoba-contact-message--success{color:#175b43;background:#e5f5ed;border:1px solid #b6dfca}.itoba-contact-message--error{color:#8a2f2f;background:#fff0ef;border:1px solid #efc3bf}
.itoba-contact-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px;padding:34px;background:#fff;border:1px solid var(--contact-line);border-radius:22px;box-shadow:0 12px 36px rgba(6,46,59,.06)}.itoba-contact-field{display:grid;gap:8px}.itoba-contact-field--full{grid-column:1/-1}.itoba-contact-field label{color:var(--contact-navy);font-size:13px;font-weight:900}.itoba-contact-field label b{margin-left:6px;padding:3px 6px;color:var(--contact-navy);background:var(--contact-lime);border-radius:999px;font-size:9px}.itoba-contact-field label span{margin-left:5px;color:var(--contact-muted);font-size:10px}.itoba-contact-field input,.itoba-contact-field select,.itoba-contact-field textarea{width:100%;padding:12px 13px;color:var(--contact-ink);background:#fbfcfb;border:1px solid #cddbd6;border-radius:9px;font:inherit;font-size:14px}.itoba-contact-field textarea{resize:vertical;line-height:1.7}.itoba-contact-field input:focus,.itoba-contact-field select:focus,.itoba-contact-field textarea:focus{outline:3px solid rgba(14,124,134,.15);border-color:var(--contact-teal)}.itoba-contact-field>small{color:var(--contact-muted);font-size:10px;text-align:right}.itoba-contact-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.itoba-contact-consent{display:flex;grid-column:1/-1;align-items:flex-start;gap:9px;color:var(--contact-muted);font-size:12px;line-height:1.65}.itoba-contact-consent input{margin-top:4px}.itoba-contact-submit{display:flex;grid-column:1/-1;min-height:52px;padding:0 23px;align-items:center;justify-content:center;gap:14px;color:#fff;background:var(--contact-navy);border:0;border-radius:999px;font:inherit;font-size:13px;font-weight:900;cursor:pointer}.itoba-contact-submit:hover{background:var(--contact-teal)}.itoba-contact-direct{margin:20px 0 0;color:var(--contact-muted);font-size:12px;text-align:center}.itoba-contact-direct a{color:var(--contact-teal);font-weight:900}
@media(max-width:620px){.itoba-contact-container{width:min(100% - 32px,620px)}.itoba-contact-hero{padding:48px 0 44px}.itoba-contact-breadcrumb{margin-bottom:25px}.itoba-contact-hero h1{font-size:39px}.itoba-contact-content{padding:38px 0 72px}.itoba-contact-form{grid-template-columns:1fr;padding:24px 20px}.itoba-contact-field--full,.itoba-contact-consent,.itoba-contact-submit{grid-column:1}.itoba-contact-note{padding:17px}}

/* DESIGN-SYSTEM.md: contact form, 2026-09-07 */
.page-template-contact #main_content {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

.page-template-contact #breadcrumb { display: none !important; }
.itoba-contact-directory {
  --contact-navy: var(--itoba-navy-900);
  --contact-teal: var(--itoba-teal);
  --contact-lime: var(--itoba-lime);
  --contact-cream: var(--itoba-cream);
  --contact-mist: var(--itoba-mist);
  --contact-ink: var(--itoba-ink);
  --contact-muted: var(--itoba-muted);
  --contact-line: var(--itoba-line);
  color: var(--itoba-ink);
  background: var(--itoba-white);
  font-family: "Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;
  font-size: 15px;
  line-height: 1.75;
}

.itoba-contact-container { width: min(900px, calc(100% - 40px)); }
.itoba-contact-hero {
  padding: 50px 0 58px;
  background: linear-gradient(125deg, var(--itoba-cream), var(--itoba-mist));
  border-bottom-color: var(--itoba-line);
}

.itoba-contact-breadcrumb { margin-bottom: 32px; color: var(--itoba-muted); }
.itoba-contact-breadcrumb a { color: var(--itoba-teal); }
.itoba-contact-eyebrow { color: var(--itoba-teal); }
.itoba-contact-hero h1 {
  color: var(--itoba-navy-900);
  font-size: clamp(38px, 4.25vw, 48px);
  line-height: 1.3;
  letter-spacing: -.035em;
}

.itoba-contact-hero > div > p:last-child {
  color: var(--itoba-muted);
  font-size: 15px;
  line-height: 1.75;
}

.itoba-contact-content { padding: 64px 0 100px; }
.itoba-contact-note {
  margin-bottom: 24px;
  padding: 20px 22px;
  background: var(--itoba-mist);
  border-left-color: var(--itoba-teal);
  border-radius: 0 var(--itoba-radius-sm) var(--itoba-radius-sm) 0;
}

.itoba-contact-note strong { color: var(--itoba-navy-900); font-size: 15px; }
.itoba-contact-note p { color: var(--itoba-muted); font-size: 15px; line-height: 1.75; }
.itoba-contact-message { border-radius: var(--itoba-radius-sm); }
.itoba-contact-message p,
.itoba-contact-message ul { font-size: 15px; line-height: 1.75; }
.itoba-contact-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px 20px;
  padding: 38px;
  background: var(--itoba-white);
  border-color: var(--itoba-line);
  border-radius: var(--itoba-radius-lg);
  box-shadow: var(--itoba-shadow-soft);
}

.itoba-contact-field { gap: 9px; }
.itoba-contact-field label { color: var(--itoba-navy-900); font-size: 14px; }
.itoba-contact-field label b {
  color: var(--itoba-navy-950);
  background: var(--itoba-lime);
  border-radius: var(--itoba-radius-pill);
  font-size: 11px;
}

.itoba-contact-field label span { color: var(--itoba-muted); font-size: 11px; }
.itoba-contact-field input,
.itoba-contact-field select,
.itoba-contact-field textarea {
  min-height: 48px;
  padding: 12px 14px;
  color: var(--itoba-ink);
  background: var(--itoba-white);
  border-color: var(--itoba-line);
  border-radius: var(--itoba-radius-sm);
  font-size: 15px;
}

.itoba-contact-field textarea { min-height: 220px; line-height: 1.75; }
.itoba-contact-field input:focus,
.itoba-contact-field select:focus,
.itoba-contact-field textarea:focus {
  outline: 3px solid rgba(11, 142, 137, .18);
  outline-offset: 1px;
  border-color: var(--itoba-teal);
}

.itoba-contact-field > small { color: var(--itoba-muted); font-size: 11px; }
.itoba-contact-consent {
  align-items: flex-start;
  gap: 11px;
  color: var(--itoba-muted);
  font-size: 15px;
  line-height: 1.75;
}

.itoba-contact-consent input {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  margin-top: 3px;
}

.itoba-contact-submit {
  min-height: 52px;
  color: var(--itoba-white);
  background: var(--itoba-navy-900);
  border-radius: var(--itoba-radius-pill);
  font-size: 15px;
  transition: background-color .2s ease, transform .2s ease;
}

.itoba-contact-submit:hover { background: var(--itoba-teal); transform: translateY(-1px); }
.itoba-contact-submit:focus-visible,
.itoba-contact-direct a:focus-visible,
.itoba-contact-breadcrumb a:focus-visible {
  outline: 3px solid var(--itoba-teal);
  outline-offset: 3px;
}

.itoba-contact-direct { color: var(--itoba-muted); font-size: 15px; line-height: 1.75; }
.itoba-contact-direct a { color: var(--itoba-teal); }

@media (max-width: 620px) {
  .itoba-contact-container { width: min(calc(100% - 28px), 620px); }
  .itoba-contact-hero { padding: 38px 0 44px; }
  .itoba-contact-breadcrumb { margin-bottom: 24px; }
  .itoba-contact-hero h1 { font-size: 31px; }
  .itoba-contact-content { padding: 48px 0 77px; }
  .itoba-contact-note { padding: 18px; }
  .itoba-contact-form {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 24px 20px;
    border-radius: var(--itoba-radius-md);
  }

  .itoba-contact-field--full,
  .itoba-contact-consent,
  .itoba-contact-submit { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .itoba-contact-directory *,
  .itoba-contact-directory *::before,
  .itoba-contact-directory *::after {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
}
