:root{
  --ysa-blue:#243675;
  --ysa-gold:#be9c59;
  --panel:#e9f1fb;
  --border:#dfe6f3;
  --text:#223;
}

/* カードっぽく */
.acf-form{
  max-width: 920px;
  margin: 0 auto 5rem;
  padding: 2.2rem 2rem;
  background: #fff;
}

.acf-fields{
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,.05);
}

/* 各フィールド */
.acf-field{
  padding: 18px 20px;
  border-top: 1px solid var(--border);
}
.acf-field:first-child{ border-top: 0; }

/* ラベル */
.acf-label label{
  font-weight: 700;
  letter-spacing: .02em;
  color: var(--ysa-blue);
}

/* 必須マーク */
.acf-required{
  color: #d23a3a;
  margin-left: .3em;
  font-weight: 700;
}

/* テキスト系 */
.acf-input input[type="text"],
.acf-input input[type="url"],
.acf-input input[type="email"],
.acf-input input[type="number"],
.acf-input textarea,
.acf-input .acf-url i + input{
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: .9rem 1rem;
  font-size: 16px;
  color: var(--text);
  background: #fff;
  transition: box-shadow .15s ease, border-color .15s ease;
}
.acf-input textarea{ min-height: 120px; }

.acf-input input:focus,
.acf-input textarea:focus{
  outline: none;
  border-color: var(--ysa-blue);
  box-shadow: 0 0 0 3px rgba(36,54,117,.1);
}

/* 画像フィールド */
.acf-image-uploader .image-wrap{
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 6px 16px rgba(0,0,0,.08);
}

/* 説明文 */
.acf-input .description{
  color: #667;
  font-size: .92rem;
  margin-top: .4rem;
}

/* 送信ボタン */
.acf-form-submit{
  text-align: center;
  margin-top: 2.2rem;
}
.acf-form-submit input[type="submit"],
.c-btn.c-btn--primary{
  display:inline-block;
  background: var(--ysa-blue);
  color:#fff;
  border:2px solid var(--ysa-blue);
  border-radius: 999px;
  padding:.9rem 2.2rem;
  font-weight:700;
  letter-spacing:.08em;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.acf-form-submit input[type="submit"]:hover{
  transform: translateY(-1px);
  box-shadow:0 10px 20px rgba(36,54,117,.15);
}

/* 小さめの戻る系ボタン例 */
.p-thanks__back{
  display:inline-block;
  border:1.8px solid var(--ysa-blue);
  color: var(--ysa-blue);
  background: #fff;
  border-radius:999px;
  padding:.5rem 1.2rem;
  font-size:.95rem;
}
.p-thanks__back:hover{ background: var(--panel); }

/* スマホ */
@media (max-width: 767.98px){
  .acf-form{ padding: 1.4rem 1rem; }
  .acf-field{ padding: 14px; }
}


/* ========== 申請フォームの見やすさ調整 ========== */

/* タイトルを中央寄せ＆サイズUP */
.c-page-ttl{
  text-align: center;
  color: var(--ysa-blue, #243675);
  font-weight: 700;
  letter-spacing: .06em;
  /* 16px 基準: 最小2.2rem(約35px)〜最大3.2rem(約51px) */
  font-size: clamp(2.2rem, 1.6vw + 1.6rem, 3.2rem);
  margin: 0 0 2rem;
}
.c-page-ttl::after{
  content:"";
  display:block;
  width: clamp(160px, 22vw, 240px);
  height: 6px;
  background: var(--ysa-blue, #243675);
  margin: .8rem auto 0;
  border-radius: 2px;
}

/* ACF ラベル（質問の文字）を大きく・はっきり */
.acf-form .acf-field .acf-label label{
  font-size: clamp(1.6rem, .6vw + 1.2rem, 1.9rem); /* 16px〜19px */
  line-height: 1.45;
  font-weight: 700;
  color: #1f2a55;
}

/* 必須マークも見やすく */
.acf-form .acf-field .acf-label .required{
  color: #c62828;
  font-weight: 800;
  margin-left: .35em;
}

/* 補足説明（description）は控えめに */
.acf-form .acf-field .acf-label p.description{
  font-size: 1.3rem;
  color: #6c768e;
  margin-top: .4rem;
}

/* 入力欄をゆったり＆文字サイズを統一 */
.acf-form input[type="text"],
.acf-form input[type="email"],
.acf-form input[type="url"],
.acf-form input[type="tel"],
.acf-form input[type="number"],
.acf-form textarea,
.acf-form select{
  font-size: 1.6rem;           /* 読みやすい16px基準 */
  line-height: 1.6;
  padding: .8rem 1rem;
  min-height: 46px;
  border-radius: 8px;
  border: 1px solid #d8dfeb;
  outline: none;
  transition: box-shadow .15s ease, border-color .15s ease;
}
.acf-form input:focus,
.acf-form textarea:focus,
.acf-form select:focus{
  border-color: #7da0ff;
  box-shadow: 0 0 0 3px rgba(125,160,255,.18);
}

/* フィールド間の間隔を少し広げる */
.acf-form .acf-field{
  padding-top: 14px;
  padding-bottom: 14px;
}

/* 送信ボタンを中央・見やすく */
.acf-form .acf-form-submit{
  text-align: center;
  margin-top: 2.2rem;
}
.acf-form .acf-form-submit .c-btn,
.acf-form .acf-form-submit input[type="submit"]{
  display: inline-block;
  min-width: 240px;
  padding: 0.95em 1.4em;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: .05em;
  color: #fff;
  background: var(--ysa-blue, #243675);
  border: 2px solid var(--ysa-blue, #243675);
  border-radius: 10px;
  transition: transform .18s ease, box-shadow .18s ease;
}
.acf-form .acf-form-submit .c-btn:hover,
.acf-form .acf-form-submit input[type="submit"]:hover{
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(36,54,117,.18);
}

/* コンテナを少し詰めて中央感を強化（必要に応じて） */
.l-inner{
  max-width: 980px;
  margin: 0 auto;
  padding: 0 20px;
}