/* apply.css */
:root{
  --ysa-blue:#243675;
  --ysa-gold:#be9c59;
  --panel:#e9f1fb; /* 淡いブルー（PDFに近いトーン） */
}

.apply-landing{
  max-width: 980px;
  margin: 6rem auto 8rem;
  padding: 0 2rem;
  text-align: center;
}

/* ヘッダー周り */
.apply-header{
  position: relative;
  margin-bottom: 2.8rem;
}
.apply-logo{
  width: 120px;
  height: auto;
  display: block;
  margin: 0 auto 1.2rem;
}
.apply-title{
  font-size: clamp(2.4rem, 2vw + 1.6rem, 3.2rem);
  color: var(--ysa-blue);
  letter-spacing: .08em;
  margin: 0;
  font-weight: 700;
}
.apply-underline{
  display: inline-block;
  width: 267px;
  height: 7px;
  background: var(--ysa-blue);
  margin: .9rem auto 0;
  border-radius: 1px;
}
.apply-lead{
  margin: 1.6rem 0 0;
  color: #2b3553;
  letter-spacing: .05em;
}

/* カード */
.apply-card{
  margin-top: 2.2rem;
  background: var(--panel);
  border-radius: 14px;
  padding: clamp(2.0rem, 2.5vw, 3.2rem);
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
}

/* ボタン */
.apply-btn{
  display: block;
  width: min(520px, 92%);
  margin: 1.1rem auto;
  padding: 1.1em 1.4em;
  font-size: clamp(1.6rem, 1.2vw + 1rem, 1.8rem);
  letter-spacing: .1em;
  text-decoration: none;
  border-radius: 10px;
  color: #fff;
  background: var(--ysa-blue);
  border: 2px solid var(--ysa-blue);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
  font-weight: 700;
  text-align: center;
}
.apply-btn.ghost{
  color: var(--ysa-blue);
  background: transparent;
}
.apply-btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(36,54,117,.15);
}
.apply-btn.ghost:hover{
  color:#fff;
  background: var(--ysa-blue);
}

/* 余白バランス（SP） */
@media (max-width: 767.98px){
  .apply-landing{ margin: 4.5rem auto 6rem; }
  .apply-logo{ width: 96px; }
}


/* ================================
   Thanks：レスポンシブ調整
   ================================ */

/* タブレット～ */
@media (max-width: 1024px){
  .p-thanks__panel{
    max-width: 760px;
    padding: 36px 24px;
  }
  .p-thanks__title{ font-size: 2.0rem; }
  .p-thanks__no{ font-size: 3.6rem; letter-spacing: .22em; }
  .p-thanks__note{ font-size: 1.9rem; }
}

/* スマホ */
@media (max-width: 767.98px){
  /* ページ全体の余白少し詰める */
  .apply-landing{ margin: 4.5rem auto 6rem; padding: 0 1.6rem; }

  /* 見出しの下線を端末幅で良い感じに */
  .apply-underline{ width: clamp(160px, 40vw, 240px); height: 6px; }

  .p-thanks{ margin-top: 1.2rem; }
  .p-thanks__panel{
    max-width: 92%;
    padding: 28px 20px;
    border-radius: 10px;
    box-shadow: 0 6px 18px rgba(0,0,0,.06);
  }
  .p-thanks__title{
    font-size: 1.9rem;
    letter-spacing: .08em;
    margin-bottom: 14px;
  }
  .p-thanks__no{
    font-size: 3.0rem;
    letter-spacing: .20em;
    margin-bottom: 14px;
  }
  .p-thanks__note{ font-size: 1.8rem; }
  .p-thanks__no-missing{ font-size: 1.6rem; }
  .p-thanks__back{
    display: block;
    width: 100%;
    max-width: 420px;
    margin: 22px auto 0;
    padding: .9rem 1.6rem;
    text-align: center;
  }
}

/* かなり小さい端末 */
@media (max-width: 420px){
  .apply-logo{ width: 90px; }
  .p-thanks__panel{ padding: 24px 16px; }
  .p-thanks__title{ font-size: 1.7rem; }
  .p-thanks__no{ font-size: 2.6rem; letter-spacing: .18em; }
  .p-thanks__note{ font-size: 1.6rem; }
}



/* apply.css  分岐（ポータル）ページ用 ------------------------------------ */
:root{
  --ysa-blue:#243675;
  --ysa-gold:#be9c59;
  --panel:#e9f1fb;
}

/* セクション土台 */
.p-apply{
  display:block;
  position:relative;
  max-width: 980px;
  margin: 6rem auto 8rem;   /* ← 正解の余白 */
  padding: 0 2rem;
  text-align: center;
}

/* --- 分岐ページ用ロゴ差し替え --- */
.p-apply__logo img {
  content: url("../img/common/logo-v.svg"); /* 実際のパスに合わせて変更 */
  width: 120px;   /* 必要に応じて調整 */
  height: auto;
}

/* 見出し＆下線 */
.c-section-ttl{
  font-size: clamp(2.4rem, 2vw + 1.6rem, 3.2rem);
  color: var(--ysa-blue);
  letter-spacing: .08em;
  font-weight: 700;
  margin: 0;
}
.c-section-ttl__underline{
  display: inline-block;
  width: 267px;              /* 正解の長さに合わせる */
  height: 7px;
  background: var(--ysa-blue);
  margin: .9rem auto 0;
  border-radius: 1px;
}

/* リード文 */
.p-apply__lead{
  margin: 1.6rem 0 0;
  color: #2b3553;
  letter-spacing: .05em;
}

/* 青いパネル */
.p-apply__actions{
  margin-top: 2.2rem;
  background: var(--panel);
  border-radius: 14px;
  padding: clamp(2.0rem, 2.5vw, 3.2rem);
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
}

/* ボタン */
.p-apply__btn{
  display: block;
  width: min(520px, 92%);
  margin: 1.1rem auto;
  padding: 1.1em 1.4em;
  font-size: clamp(1.6rem, 1.2vw + 1rem, 1.8rem);
  letter-spacing: .1em;
  text-decoration: none;
  border-radius: 10px;
  font-weight: 700;
  text-align: center;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
  border: 2px solid transparent;
}
.p-apply__btn--primary{
  color:#fff;
  background: var(--ysa-blue);
  border-color: var(--ysa-blue);
}
.p-apply__btn--ghost{
  color: var(--ysa-blue);
  background: transparent;
  border-color: var(--ysa-blue);
}
.p-apply__btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(36,54,117,.15);
}
.p-apply__btn--ghost:hover{
  color:#fff;
  background: var(--ysa-blue);
}

/* スマホ調整（控えめ） */
@media (max-width: 767.98px){
  .p-apply{ margin: 4.5rem auto 6rem; }
  .p-apply__logo img{ width: 96px; }
  .c-section-ttl__underline{ width: 220px; height: 6px; }
}