/* ==========================================================
   Lead Campus — Contact ページ専用スタイル
   - 基盤は assets/lc-styles.css（:root / lc-* を継承）
   - 配色は navy / gold / pale blue gray（オレンジ不使用・サイト統一）
   - prefix: lc- / BEM風
   ========================================================== */

/* ----- パンくず（tutoringと共通の見た目） ----- */
.lc-crumb{background:var(--lc-bg-alt);border-bottom:1px solid var(--lc-line);font-size:13px}
.lc-crumb__inner{max-width:var(--container);margin:0 auto;padding:14px 24px;
  display:flex;gap:10px;align-items:center;color:var(--lc-text-sub)}
.lc-crumb a{color:var(--lc-text-sub)}
.lc-crumb a:hover{color:var(--lc-navy)}
.lc-crumb__sep{opacity:.5}
.lc-crumb__here{color:var(--lc-navy);font-weight:700}

/* ==========================================================
   block:hero（Contact 用・中央コピー）
   ========================================================== */
.lc-chero{position:relative;background:#0A1A2C;color:#fff;overflow:hidden;text-align:center}
.lc-chero__bg{position:absolute;inset:0}
.lc-chero__bg>picture{display:block;width:100%;height:100%}
.lc-chero__bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lc-chero__bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(120deg,rgba(3,60,105,.92),rgba(2,20,40,.92))}
.lc-chero__inner{position:relative;max-width:760px;margin:0 auto;padding:88px 24px 96px}
.lc-chero__en{font-family:var(--font-en);font-weight:700;font-size:13px;letter-spacing:.26em;
  color:var(--lc-gold);text-transform:uppercase;display:block;margin-bottom:18px}
.lc-chero__cat{font-size:15px;font-weight:700;letter-spacing:.14em;color:rgba(255,255,255,.85);margin-bottom:24px}
.lc-chero__h1{font-family:var(--font-display);font-weight:700;
  font-size:clamp(30px,4.4vw,52px);line-height:1.42;letter-spacing:.04em}
.lc-chero__sub{margin:28px auto 0;max-width:40em;font-size:16px;line-height:1.95;color:rgba(255,255,255,.9)}
@media (max-width:768px){
  .lc-chero{min-height:600px;text-align:left}
  .lc-chero__bg img{object-position:center 8%}
  .lc-chero__bg::after{background:linear-gradient(180deg,rgba(2,28,53,.02) 0%,rgba(3,60,105,.1) 36%,rgba(2,28,53,.97) 68%,rgba(2,28,53,1) 100%)}
  .lc-chero__inner{min-height:600px!important;padding:220px 24px 48px!important;display:flex;flex-direction:column;justify-content:flex-end}
  .lc-chero__en,.lc-chero__cat,.lc-chero__h1,.lc-chero__sub{text-shadow:0 2px 8px rgba(0,0,0,.8)}
  .lc-chero__en{color:#d8b54f;font-weight:800;text-shadow:0 2px 4px rgba(2,43,77,.9),0 0 10px rgba(2,43,77,.62),0 0 18px rgba(2,43,77,.38);letter-spacing:.26em;border:0;padding:0;background:none}
  .lc-chero__h1{font-size:clamp(27px,8.2vw,34px);line-height:1.4}
  html[lang="en"] .lc-chero__h1{font-size:clamp(23px,6.8vw,28px);letter-spacing:0;white-space:nowrap}
  .lc-chero__sub{font-size:13px;line-height:1.75;margin-top:18px}
  html:not([lang="en"]) .lc-chero__sub .lc-en-only{display:none!important}
  html[lang="en"] .lc-chero__sub .lc-ja-only{display:none!important}
  html[lang="en"] .lc-chero__sub{font-size:clamp(9px,2.65vw,11px);white-space:nowrap}
}

/* ==========================================================
   block:section 見出し（共通）
   ========================================================== */
.lc-fhead{margin-bottom:40px}
.lc-fhead__en{font-family:var(--font-en);font-weight:700;font-size:13px;letter-spacing:.22em;
  color:var(--lc-gold);text-transform:uppercase;margin-bottom:14px;display:block}
.lc-fhead__ttl{font-family:var(--font-display);font-weight:700;
  font-size:clamp(22px,2.6vw,30px);line-height:1.45;letter-spacing:.05em;color:var(--lc-navy)}
.lc-fhead__ttl::after{content:"";display:block;width:40px;height:3px;background:var(--lc-gold);margin-top:18px}
.lc-fhead__step{display:inline-block;font-family:var(--font-display);font-weight:700;font-size:14px;
  color:var(--lc-gold);letter-spacing:.14em;margin:0 18px 10px 0}
#form .lc-formwrap>.lc-fhead{padding-top:24px}

/* ==========================================================
   block:type-selector（種別 7カード）
   ========================================================== */
.lc-types{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.lc-type{position:relative;text-align:left;cursor:pointer;background:#fff;
  border:1.5px solid var(--lc-line);border-radius:var(--radius-card);padding:24px 22px;
  display:flex;align-items:flex-start;gap:16px;transition:.2s;font:inherit}
.lc-type:hover{border-color:var(--lc-navy);box-shadow:var(--shadow-card);transform:translateY(-3px)}
.lc-type.is-selected{border-color:var(--lc-navy);background:#F3F7FB;box-shadow:var(--shadow-card)}
.lc-type.is-selected::after{content:"✓";position:absolute;top:14px;right:16px;
  width:24px;height:24px;border-radius:50%;background:var(--lc-navy);color:#fff;
  font-size:13px;display:grid;place-items:center}
.lc-type__icon{flex:none;width:46px;height:46px;border-radius:10px;background:var(--lc-bg-alt);
  display:grid;place-items:center;color:var(--lc-navy);transition:.2s}
.lc-type.is-selected .lc-type__icon{background:var(--lc-navy);color:#fff}
.lc-type__icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7}
.lc-type__body{padding-top:2px}
.lc-type__name{display:block;font-size:15.5px;font-weight:700;color:var(--lc-navy);line-height:1.5}
.lc-type__desc{display:block;font-size:12.5px;color:var(--lc-text-sub);margin-top:5px;line-height:1.6}

/* ==========================================================
   block:form
   ========================================================== */
.lc-formwrap{max-width:880px;margin:0 auto}
.lc-formcard{background:#fff;border:1px solid var(--lc-line);border-radius:var(--radius-card);
  box-shadow:var(--shadow-card);padding:48px clamp(24px,5vw,56px)}
/* 種別未選択時のプレースホルダ */
.lc-form__placeholder{text-align:center;padding:56px 24px;color:var(--lc-text-sub)}
.lc-form__placeholder svg{width:46px;height:46px;stroke:var(--lc-line);fill:none;stroke-width:1.5;margin-bottom:18px}
.lc-form__placeholder p{font-size:15px}
/* 選択中バッジ */
.lc-form__selected{display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  padding-bottom:26px;margin-bottom:30px;border-bottom:1px solid var(--lc-line)}
.lc-form__selected-label{font-size:13px;color:var(--lc-text-sub)}
.lc-form__selected-name{font-size:18px;font-weight:700;color:var(--lc-navy)}
.lc-form__change{margin-left:auto;font-size:13px;font-weight:700;color:var(--lc-navy);
  background:none;border:1px solid var(--lc-line);border-radius:999px;padding:8px 18px;cursor:pointer;transition:.2s}
.lc-form__change:hover{background:var(--lc-bg-alt);border-color:var(--lc-navy)}

/* グループ見出し */
.lc-form__group-ttl{font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--lc-gold);
  text-transform:uppercase;margin:8px 0 22px;display:flex;align-items:center;gap:12px}
.lc-form__group-ttl::after{content:"";flex:1;height:1px;background:var(--lc-line)}
.lc-form__group-ttl:not(:first-child){margin-top:40px}

/* フィールドグリッド */
.lc-fgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px}
.lc-field{display:flex;flex-direction:column;gap:9px}
.lc-field--full{grid-column:1 / -1}
.lc-field__label{font-size:14px;font-weight:700;color:var(--lc-text);display:flex;align-items:center;gap:10px}
.lc-field__req{font-size:11px;font-weight:700;letter-spacing:.04em;padding:2px 9px;border-radius:3px;
  background:#FBEAEA;color:#B4322B}
.lc-field__opt{font-size:11px;font-weight:700;letter-spacing:.04em;padding:2px 9px;border-radius:3px;
  background:var(--lc-bg-alt);color:var(--lc-text-sub)}
.lc-field__hint{font-size:12px;color:var(--lc-text-sub);line-height:1.6}

/* 入力要素 */
.lc-input,.lc-select,.lc-textarea{width:100%;font:inherit;font-size:15px;color:var(--lc-text);
  background:#fff;border:1.5px solid var(--lc-line);border-radius:var(--radius-btn);
  padding:13px 15px;transition:border-color .2s,box-shadow .2s}
.lc-input:focus,.lc-select:focus,.lc-textarea:focus{outline:none;border-color:var(--lc-navy);
  box-shadow:0 0 0 3px rgba(3,60,105,.1)}
.lc-input::placeholder,.lc-textarea::placeholder{color:#9AA6B2}
.lc-textarea{resize:vertical;min-height:128px;line-height:1.8}
.lc-select{appearance:none;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='%23033C69' stroke-width='1.6' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center;padding-right:40px;cursor:pointer}

/* ラジオ / チェック（ピル選択） */
.lc-choices{display:flex;flex-wrap:wrap;gap:10px}
.lc-choice{position:relative;cursor:pointer}
.lc-choice input{position:absolute;opacity:0;inset:0;cursor:pointer}
.lc-choice__box{display:inline-block;font-size:14px;font-weight:500;color:var(--lc-text);
  background:#fff;border:1.5px solid var(--lc-line);border-radius:999px;padding:10px 20px;transition:.18s}
.lc-choice:hover .lc-choice__box{border-color:var(--lc-navy)}
.lc-choice input:checked+.lc-choice__box{background:var(--lc-navy);border-color:var(--lc-navy);color:#fff}
.lc-choice input:focus-visible+.lc-choice__box{box-shadow:0 0 0 3px rgba(3,60,105,.18)}

/* 同意チェック（大きめ・左ボックス） */
.lc-consent{display:flex;gap:14px;align-items:flex-start;background:var(--lc-bg-alt);
  border:1px solid var(--lc-line);border-radius:var(--radius-card);padding:20px 22px;cursor:pointer}
.lc-consent input{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--lc-navy);cursor:pointer}
.lc-consent__text{font-size:13.5px;color:var(--lc-text);line-height:1.8}
.lc-consent__text a{color:var(--lc-navy);font-weight:700;text-decoration:underline}

/* ファイルアップロード */
.lc-file{display:flex;align-items:center;gap:14px;border:1.5px dashed var(--lc-line);
  border-radius:var(--radius-btn);padding:16px 18px;background:var(--lc-bg-alt);transition:.2s}
.lc-file:hover{border-color:var(--lc-navy)}
.lc-file__btn{flex:none;font-size:13px;font-weight:700;color:var(--lc-navy);
  border:1px solid var(--lc-navy);border-radius:var(--radius-btn);padding:9px 18px;background:#fff}
.lc-file__name{font-size:13px;color:var(--lc-text-sub)}
.lc-file input{display:none}

/* エラー表示 */
.lc-field.is-error .lc-input,.lc-field.is-error .lc-select,.lc-field.is-error .lc-textarea{
  border-color:#C2453C;box-shadow:0 0 0 3px rgba(194,69,60,.1)}
.lc-field__err{display:none;font-size:12px;color:#C2453C;font-weight:700}
.lc-field.is-error .lc-field__err{display:block}
.lc-consent.is-error{border-color:#C2453C;background:#FCF2F1}

/* ==========================================================
   block:privacy-notice
   ========================================================== */
.lc-privacy{background:var(--lc-bg-alt);border-left:3px solid var(--lc-gold);
  border-radius:0 var(--radius-card) var(--radius-card) 0;padding:24px 28px;margin:36px 0 30px}
.lc-privacy__ttl{font-size:14px;font-weight:700;color:var(--lc-navy);margin-bottom:10px}
.lc-privacy__text{font-size:13px;color:var(--lc-text-sub);line-height:1.85}

/* ==========================================================
   block:submit + response notice
   ========================================================== */
.lc-submitrow{margin-top:36px;text-align:center}
.lc-submitrow .lc-btn{min-width:280px}
.lc-response{margin-top:22px;font-size:13.5px;color:var(--lc-text-sub);
  display:flex;align-items:center;gap:8px;justify-content:center}
.lc-response svg{width:17px;height:17px;stroke:var(--lc-gold);fill:none;stroke-width:1.8}

/* ==========================================================
   block:alt-contact（3カード）
   ========================================================== */
.lc-alts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.lc-alt{background:#fff;border:1px solid var(--lc-line);border-radius:var(--radius-card);
  padding:32px 28px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:14px;transition:.3s}
.lc-alt:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover)}
.lc-alt__en{font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--lc-gold)}
.lc-alt__name{font-size:19px;font-weight:700;color:var(--lc-navy)}
.lc-alt__text{font-size:13.5px;color:var(--lc-text-sub);line-height:1.8;flex:1}

/* ==========================================================
   block:faq（accordion / contact版・自己完結）
   ========================================================== */
.lc-faq{max-width:880px;margin:0 auto}
.lc-faqitem{border-bottom:1px solid var(--lc-line)}
.lc-faqitem__q{width:100%;background:none;border:none;cursor:pointer;font:inherit;text-align:left;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:26px 4px;font-size:16.5px;font-weight:700;color:var(--lc-navy);transition:color .2s}
.lc-faqitem__q::before{content:"Q";font-family:var(--font-display);color:var(--lc-gold);
  margin-right:14px;font-size:18px;flex:none}
.lc-faqitem__mark{flex:none;width:22px;height:22px;position:relative}
.lc-faqitem__mark::before,.lc-faqitem__mark::after{content:"";position:absolute;background:var(--lc-navy);
  top:50%;left:50%;transform:translate(-50%,-50%)}
.lc-faqitem__mark::before{width:14px;height:2px}
.lc-faqitem__mark::after{width:2px;height:14px;transition:transform .3s}
.lc-faqitem.is-open .lc-faqitem__mark::after{transform:translate(-50%,-50%) scaleY(0)}
.lc-faqitem__a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.lc-faqitem__a-inner{padding:0 4px 26px 32px;font-size:14.5px;color:var(--lc-text-sub);line-height:1.9}

/* ==========================================================
   block:thank-you（送信後オーバーレイ）
   ========================================================== */
.lc-thanks{display:none;position:fixed;inset:0;z-index:200;background:rgba(2,20,40,.6);
  backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:24px}
.lc-thanks.is-open{display:flex;animation:lcFadeUp .4s ease both}
.lc-thanks__card{background:#fff;border-radius:var(--radius-card);max-width:540px;width:100%;
  padding:56px 44px;text-align:center;box-shadow:var(--shadow-card-hover)}
.lc-thanks__icon{width:76px;height:76px;border-radius:50%;background:var(--lc-bg-alt);
  display:grid;place-items:center;margin:0 auto 26px}
.lc-thanks__icon svg{width:38px;height:38px;stroke:var(--lc-navy);fill:none;stroke-width:2}
.lc-thanks__ttl{font-family:var(--font-display);font-weight:700;font-size:26px;color:var(--lc-navy);
  letter-spacing:.04em;margin-bottom:18px}
.lc-thanks__text{font-size:15px;color:var(--lc-text-sub);line-height:1.95;margin-bottom:34px}
.lc-thanks__text strong{color:var(--lc-navy)}

/* ==========================================================
   レスポンシブ
   ========================================================== */
@media (max-width:1024px){
  .lc-types{grid-template-columns:1fr 1fr}
  .lc-alts{grid-template-columns:1fr}
}
@media (max-width:768px){
  .lc-types{grid-template-columns:1fr}
  .lc-fgrid{grid-template-columns:1fr}
  .lc-formcard{padding:32px 22px}
  .lc-form__selected{gap:8px}
  .lc-form__change{margin-left:0;width:100%;text-align:center}
  .lc-submitrow .lc-btn{width:100%;min-width:0}
  .lc-thanks__card{padding:40px 26px}
}


/* 外部リンク型の種別カード（Path45・家庭教師 → 各サービスサイトへ） */
a.lc-type{text-decoration:none;color:inherit}
.lc-type__name .lc-ext{color:var(--lc-gold);font-size:.8em;margin-left:5px}
