/* ============================================================
       AI-Native Value Architect 申込フォーム
       Drupal Webform 埋め込みCSS（実DOM準拠・全面改訂版）

       配置：Webformの css: フィールド（Settings → Assets → CSS）に格納済み。
       フォームラッパ実クラス：.webform-submission-custom-ain-va-form-100607-form
         ※ Drupalは webform id（custom_ain_va_form_100607）の _ を - に変換して
           webform-submission-{id}-form を出力する。webform の id を変更したら
           このCSS内のスコープクラスも必ず全て置換すること（ずれると全滅する）。
       テーマ gs_theme と競合するため要所で !important。
       ============================================================ */

    /* ---- 変数＋フォームカード本体 ---- */
    .webform-submission-custom-ain-va-form-100607-form{
      --ink:#0f0f0e; --ink-2:#3a3a38; --ink-3:#6b6b68; --ink-4:#9e9e9b;
      --line:#e0e0dd; --bg:#fff; --bg-2:#f7f7f5;
      --navy:#1a2c4e; --navy-light:#e8ecf3; --navy-mid:#3d5a8a;
      --red:#b83030; --red-bg:#fdf2f2;
      --green:#1a6b3a; --green-bg:#f0f8f3; --green-line:#b6ddc5;
      font-family:'Inter',-apple-system,sans-serif; font-weight:300;
      color:var(--ink); max-width:720px; margin:0 auto 64px; background:#fff;
      border:1px solid var(--line); padding:36px 48px 44px;
      -webkit-font-smoothing:antialiased;
    }
    @media(max-width:640px){
      .webform-submission-custom-ain-va-form-100607-form{ padding:24px 24px 32px; margin-bottom:48px; }
    }

    /* ---- フォーム見出し（開催日・会場）---- */
    .lp-formhead{ margin-bottom:20px; }
    .lp-formhead-eyebrow{ font-size:10px; font-weight:400; letter-spacing:.14em;
      color:var(--navy-mid); text-transform:uppercase; margin-bottom:10px; }
    .lp-formhead-title{ font-size:20px; font-weight:400; letter-spacing:-.01em;
      color:var(--navy); line-height:1.4; margin-bottom:8px; }
    .lp-formhead-sub{ font-size:12px; font-weight:300; color:var(--ink-3); line-height:1.7; }

    /* ---- ボタン下の注記 ---- */
    .lp-submit-note{ font-size:11px; font-weight:300; color:var(--ink-4);
      text-align:center; margin-top:14px; line-height:1.6; }

    /* ---- 受講料サマリー ---- */
    .lp-summary{ display:flex; align-items:baseline; flex-wrap:wrap; gap:2px 8px;
      padding:14px 0; margin-bottom:28px;
      border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
    .lp-summary-label{ font-size:10px; font-weight:400; letter-spacing:.06em;
      color:var(--ink-4); text-transform:uppercase; margin-right:auto; }
    .lp-summary-price{ font-size:15px; font-weight:400; color:var(--navy); }
    .lp-summary-tax{ font-size:11px; font-weight:300; color:var(--ink-3); }

    /* ---- セクション見出し ---- */
    .webform-submission-custom-ain-va-form-100607-form .webform-section-title{
      font-size:10px; font-weight:400; letter-spacing:.14em; color:var(--ink-3);
      text-transform:uppercase; margin-bottom:16px; padding-bottom:0; border:none; }
    .webform-submission-custom-ain-va-form-100607-form .webform-section-title::before{ content:'— '; }

    /* ---- ラベル ---- */
    .webform-submission-custom-ain-va-form-100607-form label,
    .webform-submission-custom-ain-va-form-100607-form .form-item label{
      display:block;
      font-size:10px; font-weight:400; letter-spacing:.12em;
      color:var(--ink-2); text-transform:uppercase; margin-bottom:7px; }

    /* ---- 入力欄 ---- */
    .webform-submission-custom-ain-va-form-100607-form input[type="text"],
    .webform-submission-custom-ain-va-form-100607-form input[type="email"],
    .webform-submission-custom-ain-va-form-100607-form input[type="tel"],
    .webform-submission-custom-ain-va-form-100607-form select,
    .webform-submission-custom-ain-va-form-100607-form textarea{
      width:100%; box-sizing:border-box;
      font-family:'Inter',-apple-system,sans-serif;
      font-size:14px; font-weight:300; color:var(--ink); background:#fff;
      border:1px solid var(--line); border-radius:0; padding:12px 14px;
      outline:none; transition:border-color .2s;
      -webkit-appearance:none; appearance:none; }
    .webform-submission-custom-ain-va-form-100607-form input:focus,
    .webform-submission-custom-ain-va-form-100607-form select:focus,
    .webform-submission-custom-ain-va-form-100607-form textarea:focus{
      border-color:var(--navy); box-shadow:none; }
    .webform-submission-custom-ain-va-form-100607-form input::placeholder,
    .webform-submission-custom-ain-va-form-100607-form textarea::placeholder{ color:var(--ink-4); }
    .webform-submission-custom-ain-va-form-100607-form textarea{
      resize:vertical; min-height:72px; line-height:1.7; }
    .webform-submission-custom-ain-va-form-100607-form select{
      cursor:pointer; padding-right:36px;
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239e9e9b' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
      background-repeat:no-repeat; background-position:right 14px center; }
    .webform-submission-custom-ain-va-form-100607-form .form-wrapper .form-item {
        margin-bottom: 1rem;
     }
    .webform-submission-custom-ain-va-form-100607-form .form-wrapper .webform-flexbox .form-item {
       margin-bottom: 0;
     }
     
    /* ---- 説明・注記 ---- */
    .webform-submission-custom-ain-va-form-100607-form .description,
    .webform-submission-custom-ain-va-form-100607-form .form-item .description,
    .lp-note{ font-size:11px; font-weight:300; color:var(--ink-4); margin-top:5px; line-height:1.6; }
    .webform-submission-custom-ain-va-form-100607-form  .form-item-roman-note .lp-note{ margin-top:-10px; margin-bottom: 1rem; }
    /* ---- 必須マーク（入力ラベル）---- */
    .webform-submission-custom-ain-va-form-100607-form .js-form-required.form-required::after{
      content:'必須'; color:var(--red); background:var(--red-bg);
      font-size:9px; font-weight:500; letter-spacing:.04em;
      padding:1px 5px; margin-left:6px; vertical-align:middle; }

    /* ---- Flexbox（姓名等の横並び）---- */
    .webform-submission-custom-ain-va-form-100607-form .webform-flexbox{
      gap:14px; margin:0 0 16px; }
    .webform-submission-custom-ain-va-form-100607-form .webform-flex--container{ margin:0; }
    @media(max-width:480px){
      .webform-submission-custom-ain-va-form-100607-form .webform-flexbox{ flex-direction:column; } }

    /* ---- 支払い方法ラジオ（横並び2カラム＋アイコン）---- */
    [data-drupal-selector="edit-pay-method"].fieldgroup{ border:none !important; padding:0 !important; margin:0 0 6px !important; }
    [data-drupal-selector="edit-pay-method"] > legend{ margin-bottom:10px; }
    [data-drupal-selector="edit-pay-method"] .fieldset-legend{
      font-size:10px; font-weight:400; letter-spacing:.12em;
      color:var(--ink-2); text-transform:uppercase; }
    [data-drupal-selector="edit-pay-method"] > legend .js-form-required.form-required::after{
      content:'必須'; color:var(--red); background:var(--red-bg);
      font-size:9px; font-weight:500; padding:1px 5px; margin-left:6px; }

    /* 2カラム化（テーマの one-column を上書き） */
    .webform-submission-custom-ain-va-form-100607-form [data-drupal-selector="edit-pay-method"] .js-webform-radios{
      display:grid !important; grid-template-columns:1fr 1fr; gap:10px; }
    @media(max-width:480px){
      .webform-submission-custom-ain-va-form-100607-form [data-drupal-selector="edit-pay-method"] .js-webform-radios{
        grid-template-columns:1fr; } }

    /* 各カード */
    .webform-submission-custom-ain-va-form-100607-form .js-webform-radios .form-type-radio{
      position:relative; border:1px solid var(--line);
      padding:44px 16px 16px; margin:0;
      transition:border-color .2s, background .2s; cursor:pointer; }
    .webform-submission-custom-ain-va-form-100607-form .form-type-radio:hover{ border-color:var(--navy-mid); }
    /* 選択中（:has で input:checked を判定） */
    .webform-submission-custom-ain-va-form-100607-form .form-type-radio:has(input:checked){
      border-color:var(--navy); background:var(--navy-light); }

    /* ラジオ本体を左上に小さく配置（位置ずれ解消） */
    .webform-submission-custom-ain-va-form-100607-form .form-type-radio input.form-radio{
      position:absolute; top:16px; left:16px; margin:0; z-index:2;
      width:16px; height:16px; accent-color:var(--navy); cursor:pointer; }
    /* ラベル：通常フローで表示（テキストは自然に折り返す）。
       アイコン/ラジオ領域を空けるため上部に余白。 */
    .webform-submission-custom-ain-va-form-100607-form .form-type-radio label.option{
      display:block; position:static; margin:0;
      text-transform:none !important; letter-spacing:0 !important;
      font-size:13px !important; font-weight:400 !important;
      color:var(--ink) !important; line-height:1.6 !important; cursor:pointer; }
    /* ラベルの擬似要素でカード全体を覆う透明クリック領域を作る。
       → ボックスのどこをクリックしても label（＝input）が反応する。 */
    .webform-submission-custom-ain-va-form-100607-form .form-type-radio label.option::after{
      content:''; position:absolute; inset:0; z-index:1; cursor:pointer; }
    /* アイコン（擬似要素・SVG背景）を右上に */
    .webform-submission-custom-ain-va-form-100607-form .form-type-radio::before{
      content:''; position:absolute; top:14px; right:16px;
      width:24px; height:24px; background-repeat:no-repeat;
      background-position:center; background-size:20px 20px; opacity:.55; }
    /* カード決済アイコン */
    .webform-submission-custom-ain-va-form-100607-form [data-drupal-selector="edit-pay-method"]
      .form-type-radio:first-child::before{
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a2c4e' stroke-width='1.5'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cline x1='2' y1='10' x2='22' y2='10'/%3E%3C/svg%3E"); }
    /* 請求書アイコン */
    .webform-submission-custom-ain-va-form-100607-form [data-drupal-selector="edit-pay-method"]
      .form-type-radio:last-child::before{
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a2c4e' stroke-width='1.5'%3E%3Cpath d='M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3C/svg%3E"); }

    /* ---- 請求書払いブロック ---- */
    .lp-subhead{ font-size:10px; font-weight:400; letter-spacing:.12em;
      color:var(--ink-2); text-transform:uppercase; margin-bottom:16px; }
    .webform-submission-custom-ain-va-form-100607-form [data-drupal-selector="edit-invoice-fields"]{
      border:1px solid var(--line); background:var(--bg-2);
      padding:20px; margin-bottom:28px; }
    .lp-field-label-static{ font-size:10px; font-weight:400; letter-spacing:.12em;
      color:var(--ink-2); text-transform:uppercase; margin-bottom:7px; }
    .lp-static-box{ font-size:13px; font-weight:300; color:var(--ink);
      background:#fff; border:1px solid var(--line); padding:12px 14px; }
    .lp-monthend-note{ margin-top:8px; font-size:12px; font-weight:300; color:var(--navy);
      background:var(--navy-light); border:1px solid rgba(61,90,138,.2);
      padding:10px 12px; line-height:1.7; }

    /* ---- プライバシーボックス＋同意チェック ---- */
    .lp-privacy-box{ background:var(--bg-2); border:1px solid var(--line);
      padding:14px 16px; margin-bottom:20px;
      font-size:11px; font-weight:300; color:var(--ink-3); line-height:1.8; }
    .lp-privacy-box a{ color:var(--navy-mid); text-decoration:none; }
    .lp-privacy-box a:hover{ text-decoration:underline; }
    /* チェックボックス：input と label を横並びで上端揃え（位置ずれ解消） */
    .webform-submission-custom-ain-va-form-100607-form .form-wrapper .form-type-checkbox{
      display:flex; align-items:flex-start; gap:10px; margin-bottom:10px; }
    .webform-submission-custom-ain-va-form-100607-form .form-type-checkbox input.form-checkbox{
      flex:0 0 auto; margin:2px 0 0; width:16px; height:16px; accent-color:var(--navy); }
    .webform-submission-custom-ain-va-form-100607-form .form-type-checkbox label.option{
      margin:0;
      text-transform:none !important; letter-spacing:0 !important;
      font-size:13px !important; font-weight:300 !important;
      color:var(--ink-2) !important; line-height:1.5 !important; }
    .webform-submission-custom-ain-va-form-100607-form .form-type-checkbox label.option a{
      color:var(--navy-mid); text-decoration:none; border-bottom:1px solid var(--navy-light); }

    /* ---- CAPTCHA（数式チャレンジ・キー不要）---- */
    .webform-submission-custom-ain-va-form-100607-form .captcha{
      border:1px solid var(--line); background:var(--bg-2);
      padding:16px 20px; margin-top:20px; }
    .webform-submission-custom-ain-va-form-100607-form .captcha legend,
    .webform-submission-custom-ain-va-form-100607-form .captcha .fieldset-legend{
      font-size:10px; font-weight:400; letter-spacing:.12em;
      color:var(--ink-2); text-transform:uppercase; }
    .webform-submission-custom-ain-va-form-100607-form .captcha .description{
      margin-bottom:8px; }
    .webform-submission-custom-ain-va-form-100607-form .captcha .form-text{
      max-width:120px; }

    /* ============================================================
       ページタイトル（H1・フォーム外）を非表示
       ============================================================ */
    .region-content > h1,
    h1.page-title,
    .page-title,
    h1.text-4xl.font-semibold,
    .block-page-title-block{
      display:none !important; }

    /* ============================================================
       プログレスバー → タブ型下線デザイン
       ============================================================ */
    .webform-submission-custom-ain-va-form-100607-form .webform-progress{
      margin:0 0 32px; }
    .webform-submission-custom-ain-va-form-100607-form .webform-progress
      .progress-tracker{
      display:flex !important; max-width:100% !important;
      margin:0 !important; padding:0 !important;
      border-bottom:1px solid var(--line); }
    .webform-submission-custom-ain-va-form-100607-form .webform-progress
      .progress-tracker .progress-marker,
    .webform-submission-custom-ain-va-form-100607-form .webform-progress
      .progress-tracker .progress-marker::before,
    .webform-submission-custom-ain-va-form-100607-form .webform-progress
      .progress-tracker .progress-marker::after{
      display:none !important; background:none !important;
      content:none !important; width:0 !important; height:0 !important;
      margin:0 !important; }
    .webform-submission-custom-ain-va-form-100607-form .webform-progress
      .progress-tracker .progress-step{
      flex:1 1 0 !important; min-width:0 !important;
      margin:0 !important; padding:0 !important;
      border-bottom:2px solid transparent !important;
      transition:border-color .25s, color .25s; }
    .webform-submission-custom-ain-va-form-100607-form .webform-progress
      .progress-tracker .progress-step.is-active{
      border-bottom-color:var(--navy) !important; }
    .webform-submission-custom-ain-va-form-100607-form .webform-progress
      .progress-tracker .progress-step.is-complete{
      border-bottom-color:var(--line) !important; }
    .webform-submission-custom-ain-va-form-100607-form .webform-progress
      .progress-tracker .progress-step .progress-text{
      display:block !important; padding:0 !important; margin:0 !important;
      overflow:visible !important; }
    .webform-submission-custom-ain-va-form-100607-form .webform-progress
      .progress-tracker .progress-step .progress-title{
      margin:0 !important; padding:16px 4px !important;
      font-family:'Inter',sans-serif !important;
      font-size:10px !important; font-weight:400 !important;
      letter-spacing:.08em !important; text-transform:uppercase !important;
      text-align:center !important; color:var(--ink-4) !important;
      line-height:1.4 !important; }
    .webform-submission-custom-ain-va-form-100607-form .webform-progress
      .progress-tracker .progress-step:nth-child(1) .progress-title::before{ content:'01 · '; }
    .webform-submission-custom-ain-va-form-100607-form .webform-progress
      .progress-tracker .progress-step:nth-child(2) .progress-title::before{ content:'02 · '; }
    .webform-submission-custom-ain-va-form-100607-form .webform-progress
      .progress-tracker .progress-step:nth-child(3) .progress-title::before{ content:'03 · '; }
    .webform-submission-custom-ain-va-form-100607-form .webform-progress
      .progress-tracker .progress-step.is-active .progress-title{
      color:var(--navy) !important; }
    .webform-submission-custom-ain-va-form-100607-form .webform-progress
      .progress-tracker .progress-step.is-complete .progress-title{
      color:var(--ink-3) !important; }
    .webform-submission-custom-ain-va-form-100607-form .webform-progress
      .progress-tracker .progress-step.is-complete .progress-title::after{
      content:' ✓'; color:var(--green); }
    .webform-submission-custom-ain-va-form-100607-form .webform-progress
      .progress-tracker .visually-hidden{
      position:absolute !important; width:1px; height:1px;
      overflow:hidden; clip:rect(0 0 0 0); }
    @media(max-width:640px){
      .webform-submission-custom-ain-va-form-100607-form .webform-progress
        .progress-tracker .progress-step .progress-title{
        font-size:9px !important; padding:12px 2px !important;
        letter-spacing:.04em !important; }
    }

    /* ============================================================
       アクションボタン（出し分け）
       ============================================================ */
    .webform-submission-custom-ain-va-form-100607-form .form-actions{
      display:flex; gap:12px; flex-wrap:wrap; margin-top:8px; }
    .webform-submission-custom-ain-va-form-100607-form .webform-button--preview,
    .webform-submission-custom-ain-va-form-100607-form .webform-button--submit,
    .webform-submission-custom-ain-va-form-100607-form .webform-button--previous{
      box-sizing:border-box;
      font-family:'Inter',sans-serif !important;
      font-size:12px !important; font-weight:400 !important; letter-spacing:.1em !important;
      border-radius:0 !important; padding:16px 24px !important;
      text-transform:uppercase !important; cursor:pointer !important;
      transition:background .2s, border-color .2s !important; box-shadow:none !important; }
    .webform-submission-custom-ain-va-form-100607-form .webform-button--preview,
    .webform-submission-custom-ain-va-form-100607-form .webform-button--submit{
      color:#fff !important; background:#1a2c4e !important; border:none !important; }
    .webform-submission-custom-ain-va-form-100607-form .webform-button--preview:hover,
    .webform-submission-custom-ain-va-form-100607-form .webform-button--submit:hover{
      background:#3d5a8a !important; }
    .webform-submission-custom-ain-va-form-100607-form .webform-button--previous{
      color:#3a3a38 !important; background:#fff !important;
      border:1px solid #e0e0dd !important; }
    .webform-submission-custom-ain-va-form-100607-form .webform-button--previous:hover{
      border-color:#1a2c4e !important; }
    .webform-submission-custom-ain-va-form-100607-form
      .form-actions:has(.webform-button--preview) .webform-button--submit{
      display:none !important; }
    .webform-submission-custom-ain-va-form-100607-form
      .form-actions:has(.webform-button--preview) .webform-button--preview{
      flex:1 1 100%; }
    .webform-submission-custom-ain-va-form-100607-form
      .form-actions:has(.webform-button--previous) .webform-button--previous{
      flex:1 1 30%; }
    .webform-submission-custom-ain-va-form-100607-form
      .form-actions:has(.webform-button--previous) .webform-button--submit{
      flex:2 1 60%; }

    /* ============================================================
       確認画面（Preview）の項目表示
       ============================================================ */
    .webform-submission-custom-ain-va-form-100607-form .webform-preview{
      margin-bottom:8px; }
    .webform-submission-custom-ain-va-form-100607-form .webform-preview .webform-section{
      margin-bottom:24px; }
    .webform-submission-custom-ain-va-form-100607-form .webform-preview .webform-element{
      display:flex; gap:16px; align-items:baseline;
      border-bottom:1px solid var(--line); padding:11px 0;
      font-size:14px !important; font-weight:300; color:var(--ink); line-height:1.6; }
    .webform-submission-custom-ain-va-form-100607-form .webform-preview .webform-element > label{
      flex:0 0 130px; margin:0;
      font-size:10px !important; font-weight:400; letter-spacing:.1em;
      color:var(--ink-3); text-transform:uppercase; }
    .webform-submission-custom-ain-va-form-100607-form .webform-preview .webform-element a{
      color:var(--navy-mid); text-decoration:none; }
    .webform-submission-custom-ain-va-form-100607-form .webform-preview .webform-element a:hover{
      text-decoration:underline; }

    /* ============================================================
       必須注記・確認画面・完了画面
       ============================================================ */
    .webform-required{ font-size:11px; color:#9e9e9b; margin-bottom:16px; }
    .webform-submission-custom-ain-va-form-100607-form .webform-preview .webform-element{
      border-bottom:1px solid var(--line); padding:13px 0; }
    .webform-submission-custom-ain-va-form-100607-form .webform-preview label{ color:var(--ink-3); }

    /* ============================================================
       完了画面（webform-confirmation）
       ============================================================ */
    .webform-confirmation{ max-width:720px; margin:0 auto 64px;
      background:#fff; border:1px solid var(--line);
      padding:36px 48px 40px; }
    @media(max-width:640px){ .webform-confirmation{ padding:24px 24px 32px; margin-bottom:48px; } }
    .lp-complete-body{ font-size:14px; font-weight:300; color:var(--ink-2);
      line-height:1.85; margin-bottom:28px;
      padding-bottom:24px; border-bottom:1px solid var(--line); }
    .lp-pay-box{ background:var(--navy-light); border:1px solid rgba(61,90,138,.2);
      padding:24px 28px; text-align:left; }
    .lp-pay-eyebrow{ font-size:10px; font-weight:400; letter-spacing:.14em;
      color:var(--navy-mid); text-transform:uppercase; margin-bottom:12px; }
    .lp-pay-eyebrow::before{ content:'— '; }
    .lp-pay-text{ font-size:14px; font-weight:300; color:var(--ink);
      line-height:1.8; margin:0 0 18px; }
    .lp-btn-stripe{ display:inline-flex; align-items:center; gap:8px;
      font-size:13px; font-weight:400; letter-spacing:.08em; color:#fff;
      background:var(--navy); border:none; padding:15px 32px;
      text-decoration:none; text-transform:uppercase; transition:background .2s; }
    .lp-btn-stripe:hover{ background:var(--navy-mid); color:#fff; }
    .lp-pay-note{ font-size:11px; font-weight:300; color:var(--ink-4);
      margin:12px 0 0; line-height:1.6; }
    .lp-pay-divider{ height:1px; background:var(--line); margin:24px 0; }
    .lp-invoice-note{ font-size:13px; font-weight:300; color:var(--ink-3);
      line-height:1.8; }
    .lp-invoice-note-label{ display:block;
      font-size:10px; font-weight:400; letter-spacing:.14em;
      color:var(--ink-3); text-transform:uppercase; margin-bottom:8px; }
    .lp-invoice-note-label::before{ content:'— '; }
    .lp-invoice-note a{ color:var(--navy-mid); text-decoration:none;
      border-bottom:1px solid var(--navy-light); }
    .webform-confirmation__back{ margin-top:28px; }
    .webform-confirmation__back a{
      display:inline-flex; align-items:center; gap:6px;
      font-size:12px; font-weight:400; letter-spacing:.08em;
      color:var(--navy); background:var(--navy-light);
      padding:14px 28px; text-decoration:none; text-transform:uppercase;
      transition:background .2s; }
    .webform-confirmation__back a:hover{ background:#d4dcea; }