/*
Theme Name: DENNOVATE WEBINAR
Theme URI: https://dennovate.jp/
Author: VANCLEEF Inc.
Description: DENNOVATE WEBINAR site theme.
Version: 1.0.0
Text Domain: DENNOVATE-WEBINAR
*/

/* --- CSS Reset --- */
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { width: 100%; height: 100%; }
html { font-size: 100%; }
:root { font-size: clamp(1rem, 0.875rem + 0.5vw, 1.25rem); }
body {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	line-height: 1.6;
	text-rendering: optimizeLegibility;
	color: #333;
}

.wrap {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}



/* ===== Nexpro form: clean & simple ===== */
.nwb-embed-wrapper{
  --nwb-accent:#2563eb;
  --nwb-text:#111827;
  --nwb-muted:#6b7280;
  --nwb-border:#e5e7eb;
  --nwb-bg:#fff;
  --sp-1:4px;
  --sp-2:8px;
  --sp-3:12px;
  --sp-4:16px;
  --sp-5:24px;
  --sp-6:32px;
  --sp-7:40px;
  --sp-8:56px;
  color:var(--nwb-text);
  font-size:16px;
}
.nwb-embed-wrapper form{
  max-width:720px;
  margin-inline:auto;
  background:var(--nwb-bg);
  border:1px solid var(--nwb-border);
  border-radius:12px;
  padding:var(--sp-6) var(--sp-6);
  box-shadow:0 4px 12px rgba(0,0,0,.04);
}
.nwb-embed-wrapper form > * + *{
  margin-block-start:var(--sp-5);
}
.nwb-embed-wrapper form .form-row,
.nwb-embed-wrapper form .row,
.nwb-embed-wrapper form .form-group,
.nwb-embed-wrapper form p{
  margin:0 0 var(--sp-4) 0;
}
.nwb-embed-wrapper form > *:last-child,
.nwb-embed-wrapper form .form-group:last-child{
  margin-bottom:0;
}
.nwb-embed-wrapper h2,
.nwb-embed-wrapper h3{
  line-height:1.3;
  margin:0 0 var(--sp-3) 0;
}
.nwb-embed-wrapper h2{ font-size:20px; margin-top:var(--sp-6); }
.nwb-embed-wrapper h3{ font-size:17px; margin-top:var(--sp-5); }
.nwb-embed-wrapper form label{
  display:block;
  font-weight:600;
  margin:0 0 var(--sp-2) 0;
}
.nwb-embed-wrapper .description,
.nwb-embed-wrapper .help,
.nwb-embed-wrapper .notes{
  color:var(--nwb-muted);
  font-size:14px;
  margin-top:var(--sp-2);
  line-height:1.7;
}
.nwb-embed-wrapper form input[type="text"],
.nwb-embed-wrapper form input[type="email"],
.nwb-embed-wrapper form input[type="tel"],
.nwb-embed-wrapper form input[type="url"],
.nwb-embed-wrapper form input[type="number"],
.nwb-embed-wrapper form input[type="date"],
.nwb-embed-wrapper form select,
.nwb-embed-wrapper form textarea{
  width:100%;
  padding:12px 14px;
  border:1px solid var(--nwb-border);
  border-radius:10px;
  background:#fff;
  color:var(--nwb-text);
  line-height:1.5;
  transition:border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.nwb-embed-wrapper ::placeholder{ color:#9ca3af; }
.nwb-embed-wrapper form input:focus,
.nwb-embed-wrapper form select:focus,
.nwb-embed-wrapper form textarea:focus{
  outline:none;
  border-color:var(--nwb-accent);
  box-shadow:0 0 0 3px rgba(37,99,235,.15);
}
.nwb-embed-wrapper form .choices,
.nwb-embed-wrapper form .checkbox-group,
.nwb-embed-wrapper form .radio-group{
  display:grid;
  gap:var(--sp-2);
}
.nwb-embed-wrapper input[type="checkbox"],
.nwb-embed-wrapper input[type="radio"]{
  width:18px; height:18px;
  vertical-align:-3px;
  margin-right:.5em;
}
.nwb-embed-wrapper [aria-invalid="true"],
.nwb-embed-wrapper .is-error input,
.nwb-embed-wrapper .is-error select,
.nwb-embed-wrapper .is-error textarea{
  border-color:#ef4444;
  box-shadow:0 0 0 3px rgba(239,68,68,.12);
}
.nwb-embed-wrapper .error,
.nwb-embed-wrapper .field-error,
.nwb-embed-wrapper .validation-message{
  color:#b91c1c;
  font-size:14px;
  margin-top:var(--sp-2);
  line-height:1.6;
}
.nwb-terms-wrap{ margin-top:var(--sp-5); }
.nwb-terms-block{
  color:var(--nwb-muted);
  line-height:1.8;
  margin-bottom:var(--sp-3);
}
.nwb-terms{ margin-bottom:var(--sp-5); }
.nwb-terms a{ color:var(--nwb-accent); text-decoration:underline; }
.nwb-terms label{ font-weight:500; }
.nwb-embed-wrapper form button[type="submit"],
.nwb-embed-wrapper form input[type="submit"]{
  appearance:none;
  display:inline-block;
  width:100%;
  padding:12px 16px;
  background:var(--nwb-accent);
  color:#fff;
  font-weight:700;
  border:0;
  border-radius:10px;
  cursor:pointer;
  transition:filter .15s ease, transform .02s ease;
  margin-top:var(--sp-4);
}
.nwb-embed-wrapper form button[type="submit"]:hover,
.nwb-embed-wrapper form input[type="submit"]:hover{ filter:brightness(1.05); }
.nwb-embed-wrapper form button[type="submit"]:active,
.nwb-embed-wrapper form input[type="submit"]:active{ transform:translateY(1px); }
.nwb-embed-wrapper form button[disabled],
.nwb-embed-wrapper form input[disabled]{ opacity:.65; cursor:not-allowed; }
.nwb-embed-wrapper ul, .nwb-embed-wrapper ol{ padding-left:1.25em; margin:0 0 var(--sp-4) 0; }
.nwb-embed-wrapper li + li{ margin-top:.35em; }
.nwb-embed-wrapper .section-title{
  margin:var(--sp-6) 0 var(--sp-3);
  font-weight:700; font-size:15px; color:var(--nwb-muted);
  border-top:1px solid var(--nwb-border); padding-top:var(--sp-4);
}
.nwb-terms{display:flex;align-items:flex-start;gap:.6em}
.nwb-terms input[type="checkbox"]{margin:.15em .4em 0 0;width:18px;height:18px}
.nwb-terms label{cursor:pointer;line-height:1.6}

@media (max-width: 480px){
  .nwb-embed-wrapper form{
    padding:var(--sp-5) var(--sp-4);
  }
  .nwb-embed-wrapper form > * + *{ margin-block-start:var(--sp-4); }
  .nwb-terms{ margin-bottom:var(--sp-4); }
}
