/* =========================================================
   YADO Sustainable Action
   申請タイプ分岐（ポータル）専用 CSS（最終版）
   ========================================================= */

/* ---------- カラートークン ---------- */
:root{
  --ysa-blue:#243675;
  --ysa-gold:#be9c59;
  --panel:#e9f1fb;
  --text-main:#2b3553;
}

/* ---------- レイアウト土台 ---------- */
.p-apply{
  max-width: 980px;
  margin: 6rem auto 8rem;
  padding: 0 2rem;
  text-align: center;
}

/* ---------- ロゴ ---------- */
.p-apply__logo img{
  width: 180px;               /* ← 1.5倍 */
  height: auto;
  display: block;
  margin: 0 auto 1.8rem;
}

/* ---------- 見出し ---------- */
.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: block;
  width: 260px;
  height: 7px;
  background: var(--ysa-blue);
  margin: 1.1rem auto 0;
  border-radius: 1px;
}

.p-apply__lead{
  margin: 1.8rem 0 0;
  color: var(--text-main);
  letter-spacing: .05em;
}

/* ---------- メインパネル ---------- */
.p-apply__actions{
  margin-top: 2.6rem;
  background: var(--panel);
  border-radius: 18px;
  padding: clamp(2.4rem, 3vw, 3.8rem);
  box-shadow: 0 10px 28px rgba(0,0,0,.06);
}

/* ---------- 申請ボタン ---------- */
.p-apply__btn{
  display: block;
  width: min(520px, 92%);
  margin: 1.2rem auto;
  padding: 1.2em 1.6em;
  font-size: clamp(1.6rem, 1.2vw + 1rem, 1.8rem);
  letter-spacing: .1em;
  text-decoration: none;
  border-radius: 12px;
  font-weight: 700;
  text-align: center;
  border: 2px solid transparent;
  transition: transform .18s ease, box-shadow .18s ease,
              background .18s ease, color .18s ease;
}

.p-apply__btn--primary{
  color:#fff;
  background: var(--ysa-blue);
  border-color: var(--ysa-blue);
}

.p-apply__btn--ghost{
  color: var(--ysa-blue);
  background: #fff;
  border-color: var(--ysa-blue);
}

.p-apply__btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 22px rgba(36,54,117,.18);
}

.p-apply__btn--ghost:hover{
  color:#fff;
  background: var(--ysa-blue);
}

/* ---------- 注釈（自然改行） ---------- */
.p-apply__note{
  width: min(520px, 92%);
  margin: 2.4rem auto 1.6rem;
  font-size: 1.4rem;
  line-height: 1.9;
  color: var(--text-main);
  letter-spacing: .04em;
  text-align: center;

  /* 改行を自然にする（対応ブラウザのみ反映） */
  text-wrap: pretty;
  word-break: keep-all;
}

/* ---------- ダウンロードエリア ---------- */
.p-apply__downloads{
  width: min(520px, 92%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.2rem;
}

/* ---------- ダウンロードボタン ---------- */
.p-apply__download-btn{
  display: block;
  padding: 1.1em 1.2em;
  border-radius: 12px;
  font-size: 1.4rem;
  font-weight: 700;
  text-decoration: none;
  text-align: center;
  border: 2px solid var(--ysa-blue);
  color: #fff;
  background: var(--ysa-blue);
  transition: transform .18s ease, box-shadow .18s ease,
              background .18s ease, color .18s ease;

  white-space: nowrap;   /* ← 変な改行を防ぐ */
}

.p-apply__download-btn--ghost{
  background: #fff;
  color: var(--ysa-blue);
}

.p-apply__download-btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(36,54,117,.15);
}

.p-apply__download-btn--ghost:hover{
  background: var(--ysa-blue);
  color: #fff;
}

/* ---------- スマホ調整 ---------- */
@media (max-width: 767.98px){

  .p-apply{
    margin: 4.5rem auto 6rem;
    padding: 0 1.6rem;
  }

  .p-apply__logo img{
    width: 140px;
  }

  .c-section-ttl__underline{
    width: clamp(180px, 50vw, 220px);
    height: 6px;
  }

  .p-apply__downloads{
    grid-template-columns: 1fr;
  }

  .p-apply__download-btn{
    white-space: normal; /* スマホは自然折返しOK */
  }
}