﻿@charset "UTF-8";

/* =========================
  Apply page CSS
  /denki/apply/index.html
  Prefix: neaAp-
========================= */

.neaAp-main{
  background:#fff;
}

.neaAp-section{
  padding:18px 0 44px;
}

/* gridを使うページでテーブル/長文が潰れない保険 */
.main-layout > *{
  min-width:0;
}

/* =========================
  Top links (guide / pdfs)
========================= */

.neaAp-topLinks__grid{
  display:flex;
  gap: 1em;
  align-items: baseline;
}

@media (max-width: 980px){
  .neaAp-topLinks__grid{
    display:block;
  }
}

.neaAp-linkCard{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(39,89,180,.35);
  background:#fff;
  min-width:0;
  transition: background .15s ease, border-color .15s ease, transform .05s ease, box-shadow .15s ease;
}

.neaAp-linkCard:hover{
  background: rgba(39,89,180,.04);
  border-color: rgba(39,89,180,.55);
  box-shadow: 0 10px 24px rgba(39,89,180,.12);
  transform: translateY(-1px);
}

.neaAp-linkCard__icon{
  width:32px;
  height:32px;
  border-radius:10px;
  display:grid;
  place-items:center;
  border:1px solid rgba(39,89,180,.18);
  background: rgba(39,89,180,.08);
  flex:0 0 auto;
}

.neaAp-linkCard__icon i{
  font-size:16px;
  color: var(--nea-primary);
}

.neaAp-linkCard__text{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}

.neaAp-linkCard__title{
  font-weight:900;
  font-size:14px;
  line-height:1.5;
  overflow-wrap:anywhere;
}

.neaAp-linkCard__meta{
  font-size:12px;
  font-weight:800;
  color: var(--nea-muted);
}

.neaAp-linkCard__arrow{
  margin-left:auto;
  color: var(--nea-primary);
  padding-top:2px;
}

/* =========================
  Course card header + badges
========================= */

.neaAp-course{
  padding:0; /* .nea-card のpaddingを head/bodyで管理 */
  overflow:hidden;
}

.neaAp-course__head{
  padding:16px 18px;
  border-bottom:1px solid rgba(15,23,42,.08);
  background: rgba(39,89,180,.02);
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.neaAp-course__head .nea-sectionTitle{
  margin:0;
}

.neaAp-badges{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}


.neaAp-status{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:6px 0 10px;
}

.neaAp-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  border:1px solid rgba(39,89,180,.18);
  background:#fff;
  color: var(--nea-primary-700);
  white-space:nowrap;
}

.neaAp-badge i{
  color: var(--nea-primary);
}

.neaAp-badge--open{
  border-color: rgba(34,197,94,.25);
  background: rgba(34,197,94,.08);
  color: #14532d;
}
.neaAp-badge--open i{ color: rgb(34,197,94); }

.neaAp-badge--seat{
  border-color: rgba(59,130,246,.25);
  background: rgba(59,130,246,.08);
  color: #1e3a8a;
}
.neaAp-badge--seat i{ color: rgb(59,130,246); }

.neaAp-badge--closed{
background:rgba(100,116,139,.12);     /* slate系 */
  color:rgb(71,85,105);                 /* muted */
  border-color:rgba(100,116,139,.35);
}
.neaAp-badge--closed i{
  color:rgb(100,116,139);}

@media (max-width: 760px){
  .neaAp-course__head{
    flex-direction:column;
    align-items:flex-start;
  }
  .neaAp-badges{
    justify-content:flex-start;
  }
}


/* 空席有（緑） */
.neaAp-badge--ok{
  background:rgba(34,197,94,.12);
  color:rgb(22,163,74);
  border-color:rgba(34,197,94,.35);
}
.neaAp-badge--ok i{
  color:rgb(22,163,74);
}

/* 残り僅か（オレンジ） */
.neaAp-badge--few{
  background:rgba(245,158,11,.12);
  color:rgb(217,119,6);
  border-color:rgba(245,158,11,.45);
}
.neaAp-badge--few i{
  color:rgb(217,119,6);
}

/* 満席（赤） */
.neaAp-badge--full{
  background:rgba(239,68,68,.12);
  color:rgb(220,38,38);
  border-color:rgba(239,68,68,.45);
}
.neaAp-badge--full i{
  color:rgb(220,38,38);
}

/* =========================
  DVD type course layout
========================= */

.neaAp-course__grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:14px;
align-items: baseline;
}

@media (max-width: 980px){
  .neaAp-course__grid{
    grid-template-columns: 1fr;
  }
}

.neaAp-subHead{
  margin:0 0 10px;
  font-weight:900;
  color: var(--nea-muted);
}

.neaAp-actions{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:12px;
  margin-bottom:14px;
}

@media (max-width: 640px){
  .neaAp-actions{
    grid-template-columns: 1fr;
  }
}

.neaAp-actionCard{
  height:100%;
}

/* 動画アイコン色（視認性UP） */
.neaAp-actionCard .fa-circle-play{
  color: rgb(59,130,246);
}

.neaAp-miniLink{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:900;
  font-size:13px;
  color: var(--nea-primary-700);
  text-decoration:underline;
  text-underline-offset: 3px;
}
.neaAp-miniLink i{
  color: var(--nea-primary);
}

.neaAp-side{
  border:1px solid rgba(39,89,180,.18);
  background: rgba(39,89,180,.03);
  border-radius:14px;
  padding:12px;
}

.neaAp-kv{
  display:grid;
  gap:10px;
  margin-bottom:12px;
}

.neaAp-kv__row{
  display:grid;
  grid-template-columns: 90px 1fr;
  gap:10px;
  align-items:center;
}

.neaAp-kv__key{
  font-size:12px;
  font-weight:900;
  color: var(--nea-muted);
}

.neaAp-kv__val{
  min-width:0;
}

.neaAp-pill{
  display:inline-flex;
  align-items:center;
  padding:8px 10px;
  border-radius:999px;
  font-weight:900;
  font-size:12px;
  border:1px solid rgba(39,89,180,.18);
  background:#fff;
  color: var(--nea-primary-700);
}

.neaAp-pill--open{
  border-color: rgba(34,197,94,.25);
  background: rgba(34,197,94,.10);
  color:#14532d;
}

.neaAp-pill--seat{
  border-color: rgba(59,130,246,.25);
  background: rgba(59,130,246,.10);
  color:#1e3a8a;
}

.neaAp-applyBtn{
  width:100%;
  justify-content:center;
}

.neaAp-note{
  margin:10px 0 0;
  font-size:12px;
  font-weight:800;
  color: var(--nea-muted);
}

/* =========================
  Table chips in schedule rows
========================= */

.neaAp-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  border:1px solid rgba(39,89,180,.18);
  background:#fff;
  color: var(--nea-primary-700);
  white-space:nowrap;
}

.neaAp-chip--closed{
  border-color: rgba(239,68,68,.25);
  background: rgba(239,68,68,.08);
  color:#7f1d1d;
}

.neaAp-steps{
  display:flex;
  flex-direction:column;
  gap:16px;
  margin-top:14px;
}

.neaAp-step{
  display:flex;
  gap:16px;
  padding:14px;
  border:1px solid var(--nea-border);
  border-radius:14px;
  background:#fff;
}

.neaAp-step__num{
  width:36px;
  height:36px;
  border-radius:50%;
  background:var(--nea-primary);
  color:#fff;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.neaAp-step__body h3{
  margin:0 0 4px;
  font-size:15px;
  font-weight:900;
}

@media (max-width: 640px){
  .neaAp-step{
    flex-direction:column;
  }
}
