/*!
Theme Name: Kadence
Theme URI: https://www.kadencewp.com/kadence-theme/
Author: Kadence WP
Author URI: https://www.kadencewp.com/
Description: Kadence Theme is a lightweight yet full featured WordPress theme for creating beautiful fast loading and accessible websites, easier than ever. It features an easy to use drag and drop header and footer builder to build any type of header in minutes. It features a full library of gorgeous starter templates that are easy to modify with our intelligent global font and color controls. With extensive integration with the most popular 3rd party plugins, you can quickly build impressive ecommerce websites, course websites, business websites, and more.
Version: 1.3.1
License: GNU General Public License v3.0 (or later)
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: kadence
Requires at least: 6.3
Tested up to: 6.8.2
Tags: translation-ready, two-columns, right-sidebar, left-sidebar, footer-widgets, blog, custom-logo, custom-background, custom-menu, rtl-language-support, editor-style, threaded-comments, custom-colors, featured-images, wide-blocks, full-width-template, theme-options, e-commerce
Requires PHP: 7.4

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share
what you've learned with others.
*/
/*
 Theme Name:   My Kadence Child
 Template:     kadence
 Version:      1.0
*/

/* ここから自分のカスタマイズ */
.job-meta-extra { 
  margin: 1.5rem 0; padding: 1rem; 
  background:#f7f9fb; border:1px solid #e5edf5; border-radius:8px;
}
.job-meta-extra p { 
  display:flex; gap:.75rem; margin:.4rem 0; 
}
.job-meta-extra .label { 
  min-width:6em; color:#445; font-weight:600; 
}
.job-meta-extra .value { 
  color:#222; 
}

/* --- Reset: フィルターも結果も絶対に見える状態に戻す --- */
.fe-wrap,
.wpc-filters-main-wrap,
.wpc-filters-widget-content,
.wpc-filters-scroll-container,
.wpc-filters-widget-controls-container,
.wpc-filters-section,
.wpc-filters-section.wpc-filter-layout-submit-button {
  position: static !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  z-index: auto !important;
}
.wpc-filters-widget-controls-container,
.wpc-edit-filter-set{
  display: none!important;
}

/* “Filters”開閉ボタンが残っていても邪魔しない（非表示にしない） */
.wpc-filters-open-button-container,
.wpc-filters-apply-button,
.wpc-filters-submit-button,
.wpc-filters-reset-button,
.wpc-filters-close-button {
  display: inline-block !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
.wpc-filters-open-button-container{
  display: none!important;
}

/* 結果は常に通常フローで表示（グリッド指定をいったん外す） */
.job-archive {
  display: block !important;   /* まずは block に戻す */
  opacity: 1 !important;
  visibility: visible !important;
  position: static !important;
  z-index: auto !important;
}

/* 個々の求人カードも絶対に表示 */
.job-archive .job-card {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* コンテナ幅だけ広げる */
#inner-wrap.wrap { max-width: 1280px; margin: 0 auto; padding: 16px 20px; }

/* フィルター枠：普通のボックスとして表示（固定しない） */
.fe-wrap{
  background: #f8fafc; border:1px solid #e6edf5; border-radius: 10px;
  padding: 10px 12px; margin-bottom: 18px;
}

/* フィルターの各セクションを薄めに */
.wpc-filters-section{
  background:#fff; border:1px solid #e6edf5; border-radius:8px;
  padding:8px 10px; margin: 8px 0;
}
.wpc-filters-section .wpc-filter-title{ font-weight:700; font-size:.92rem; color:#0f172a; margin-bottom:4px; }

/* 長いチェックボックスは2列＆内側スクロールで縦長回避（でも隠さない） */
.wpc-filters-ul-list{
  list-style:none; margin:0; padding:0;
  display:grid; gap:6px 10px; grid-template-columns: 1fr;
  max-height: 180px; overflow: auto;
}
@media (min-width: 961px){ .wpc-filters-ul-list{ grid-template-columns: 1fr 1fr; } }

/* 結果はシンプルなカードグリッド（安全な指定のみ） */
.job-card{
  background:#fff; border:1px solid #e6edf5; border-radius:10px;
  padding:14px; box-shadow: 0 6px 18px rgba(16,24,40,.06);
}
.job-card h2{ font-size:1.06rem; margin:0 0 .4rem; }
.job-card .meta{ display:flex; flex-wrap:wrap; gap:6px 8px; font-size:.9rem; }
.job-card .meta span{ background:#eef2ff; color:#1e3a8a; border:1px solid #e0e7ff; padding:3px 8px; border-radius:999px; }
.job-card .btn{ display:inline-block; background:#2563eb; color:#fff; padding:8px 12px; border-radius:8px; text-decoration:none; }

.job-detail{ background:#fff; border:1px solid #e6edf5; border-radius:10px; padding:20px; box-shadow:0 6px 18px rgba(16,24,40,.06); }
.job-header{ border-bottom:1px solid #e6edf5; margin-bottom:16px; }
.job-title{ font-size:1.5rem; margin:0 0 4px; }
.job-date{ color:#64748b; font-size:.9rem; }
.job-meta ul{ list-style:none; margin:0 0 16px; padding:0; display:flex; flex-wrap:wrap; gap:12px 20px; }
.job-meta li{ font-size:.95rem; }
.job-content{ margin-bottom:24px; line-height:1.6; }
.btn-apply{ display:inline-block; background:#2563eb; color:#fff; padding:12px 20px; border-radius:8px; text-decoration:none; font-weight:600; }
.btn-apply:hover{ background:#1d4ed8; }


.geu-apply{margin-top:18px; padding:16px; border:1px solid #e5e7eb; border-radius:12px; background:#fff}
.geu-apply__ttl{margin:0 0 10px; font-size:18px; font-weight:800}
.geu-apply__profile{margin:8px 0 16px}
.geu-apply__profile h4{margin:0 0 8px; font-size:16px}
.geu-apply__dl{display:grid; grid-template-columns: 160px 1fr; gap:8px 12px; margin:0}
.geu-apply__dlrow{display:contents}
.geu-apply__dl dt{font-weight:700; color:#374151}
.geu-apply__dl dd{margin:0; color:#4b5563; white-space:pre-wrap}
.geu-apply__edit-note{margin:8px 0 0; font-size:12px; color:#6b7280}
.geu-apply__row{margin:10px 0}
.geu-apply__row label{display:block; font-weight:700; margin-bottom:6px}
.geu-apply__row textarea,
.geu-apply__row input[type="file"]{width:100%; padding:10px; border:1px solid #d1d5db; border-radius:8px}
.geu-apply__help{display:block; font-size:12px; color:#6b7280; margin-top:4px}
.geu-apply__consent label{font-weight:400}
.geu-apply__consent input{margin-right:6px}
.geu-apply__btn{display:inline-block; background:#2563eb; color:#fff; border:none; padding:10px 14px; border-radius:10px; font-weight:700; cursor:pointer}
.geu-apply__btn:hover{background:#1d4ed8}
.geu-apply-notice{margin-bottom:12px; padding:10px; border-radius:8px}

/* 成功／失敗バナーの共通 */
.geu-apply-notice{
  position: relative;
  margin: 18px 0 16px;
  padding: 14px 16px 14px 44px;
  border-radius: 12px;
  font-weight: 700;
  line-height: 1.6;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
  border-left: 6px solid transparent;
}

/* 成功（OK） */
.geu-apply-ok{
  background: #e8fff4;              /* うっすらミント */
  border: 1px solid #b7f0d2;
  border-left-color: #10b981;       /* 緑の帯 */
  color: #065f46;
}
.geu-apply-ok::before{
  content: "✔";
  position: absolute;
  left: 14px; top: 50%; transform: translateY(-50%);
  width: 22px; height: 22px; border-radius: 50%;
  display: grid; place-items: center;
  background:#10b981; color:#fff; font-size: 14px; font-weight: 900;
}

/* エラー（NG） */
.geu-apply-ng{
  background: #fff1f2;
  border: 1px solid #fecaca;
  border-left-color: #ef4444;
  color: #7f1d1d;
}
.geu-apply-ng::before{
  content: "!";
  position: absolute;
  left: 14px; top: 50%; transform: translateY(-50%);
  width: 22px; height: 22px; border-radius: 50%;
  display: grid; place-items: center;
  background:#ef4444; color:#fff; font-size: 14px; font-weight: 900;
}

/* 応募フォームとのコントラストを強める（淡いブルー） */
.geu-apply{
  background: #f6f8ff;
  border: 2px solid #d6e4ff;
  border-radius: 14px;
  padding: 18px;
  margin-top: 20px;
}
.geu-apply__ttl{
  margin: 0 0 10px;
  font-size: 18px; font-weight: 800;
  color: #1e3a8a;
}

/* スマホでの余白 */
@media (max-width:640px){
  .geu-apply-notice{ margin: 12px 0; }
  .geu-apply{ padding: 14px; }
}

@media (max-width:640px){
  .geu-apply__dl{grid-template-columns:1fr}
  .geu-apply__dl dt{color:#111827}
}

/* ===== 既存 .geu-apply の上に被せる上書きCSS（既存CSSの後に貼る） ===== */

/* セクション全体：タイトルは1行目フル幅、下に「プロフィール」と「フォーム」を2カラム */
.geu-apply{
  --ink:#0f2746; --sub:#4b5563; --line:#e5e7eb;
  --card:#ffffff; --bg:#f6f8ff; --pri:#2c6aa6;
  --pri-weak:#e6f0fa;

  background:var(--bg);
  border:1px solid #d6e4ff;         /* 枠色を淡いブルーに */
  border-radius:14px;
  padding:18px;

  display:grid;
  grid-template-columns: 1fr;        /* SPは1カラム */
  gap:16px;
}
.geu-apply__ttl{
  margin:0;
  font-size:20px;
  color:#123a66;
  grid-column: 1 / -1;               /* 常に見出しは全幅 */
}

/* PCで2カラム（プロフィール／フォーム） */
@media (min-width:900px){
  .geu-apply{ grid-template-columns: 1fr 1fr; }
  .geu-apply__profile{ order:1; }
  .geu-apply__form{ order:2; }
}

/* プロフィール箱：既存の dl レイアウトは維持（display:contents を変更しない） */
.geu-apply__profile{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:12px;
  padding:14px;
  box-shadow:0 8px 20px rgba(18,58,102,.06);
  margin:0; /* 既存の margin をリセット */
}
.geu-apply__profile h4{
  margin:.2rem 0 .6rem;
  font-size:16px;
}

/* dl は既存の2カラムを尊重。値側だけ読みやすく装飾 */
.geu-apply__dl dd{
  background:#f8fbff;
  border:1px solid #edf2f7;
  border-radius:8px;
  padding:8px 10px;
  color:#0f2746;
}
.geu-apply__dl dt{ color:#475569; }

.geu-apply__edit-note{
  margin-top:10px;
  font-size:12px;
  color:#64748b;
}
.geu-apply__edit-note a{
  color:var(--pri);
  text-decoration:underline;
}

/* フォーム箱：プロフィールと配色を少し変えて区別 */
.geu-apply__form{
  background:#ffffff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:14px;
  box-shadow:0 8px 20px rgba(18,58,102,.06);
  margin:0; /* 既存の margin をリセット */
}
.geu-apply__row{ margin:12px 0; }
.geu-apply__row label{
  display:block; font-weight:700; margin-bottom:6px; color:#102a4a;
}
.geu-apply__row textarea,
.geu-apply__row input[type="file"]{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fbfcff;
  font:inherit;
}
.geu-apply__help{ color:#6b7280; font-size:12px; margin-top:4px; }

/* 同意ボックスを淡い色で強調 */
.geu-apply__consent{
  background:var(--pri-weak);
  border:1px solid #d7e6f7;
  border-radius:10px;
  padding:10px 12px;
}
.geu-apply__consent label{
  font-weight:600; display:flex; gap:10px; align-items:flex-start;
}
.geu-apply__consent input{ margin-top:2px; }

/* ボタン */
.geu-apply__btn{
  display:inline-block;
  width:100%;
  background:var(--pri);
  color:#fff;
  border:none;
  padding:12px 16px;
  border-radius:12px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(44,106,166,.25);
  transition:.15s ease;
}
.geu-apply__btn:hover{ background:#255c8f; }

/* SP最適化：dlを1カラムに、余白調整 */
@media (max-width:640px){
  .geu-apply{ padding:16px; }
  .geu-apply__dl{ grid-template-columns: 1fr !important; }
  .geu-apply__dl dt{ color:#111827; }
}

/* アーカイブ一覧のレイアウト */
.job-archive { padding: 12px 16px; }
.job-grid { display:grid; gap:14px; grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:960px){ .job-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .job-grid{ grid-template-columns:1fr; } }

.job-card{
  background:#fff; border:1px solid #e5e7eb; border-radius:14px; padding:14px;
  box-shadow:0 10px 24px rgba(15,39,70,.06);
}
.job-card__head{ display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.job-card__title{ margin:0; font-size:18px; line-height:1.3; }
.job-card__title a{ color:#0f2746; text-decoration:none; }
.job-card__title a:hover{ text-decoration:underline; }

.job-card__badges{ display:flex; gap:8px; flex-wrap:wrap; }
.j-badge{ display:inline-block; padding:3px 8px; border-radius:999px; font-size:12px; font-weight:800; border:1px solid #e5e7eb; }
.j-badge--open{ background:#e6f7ff; color:#064e82; border-color:#cfe8ff; }
.j-badge--review{ background:#fff7e6; color:#7a4e00; border-color:#fde8b0; }
.j-badge--closed{ background:#f3f4f6; color:#6b7280; border-color:#e5e7eb; }

.j-chip{ display:inline-block; background:#eef2f7; border:1px solid #e3e8ef; border-radius:999px; padding:2px 8px; font-size:12px; }
.j-chip--pay{ background:#e8f5ff; border-color:#cfe8ff; color:#0b4b7a; }

.job-card__meta{ display:grid; gap:6px; margin:10px 0; }
.job-card__meta .j-row{ display:flex; gap:8px; }
.job-card__meta .j-row span{ min-width:72px; color:#6b7280; font-size:13px; }
.job-card__meta .j-row b{ color:#111827; font-weight:700; font-size:14px; }

.job-card__excerpt{ color:#4b5563; font-size:14px; margin-top:6px; }
.job-card__foot{ margin-top:10px; }
.j-btn{ display:inline-block; background:#2563eb; color:#fff; padding:8px 12px; border-radius:10px; font-weight:800; text-decoration:none; }
.j-btn:hover{ background:#1d4ed8; }

.job-archive__pager{ margin-top:16px; }

/* 縦並びレイアウトに変更 */
.job-grid {
  display: block; /* gridを解除してリスト化 */
}

.job-card {
  margin-bottom: 20px; /* 各カードの間隔 */
}

.job-card:last-child {
  margin-bottom: 0;
}

.job-card {
  display: flex;
  flex-direction: column; /* 必要なら row に変えて2カラム風にもできる */
  padding: 16px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  margin-bottom: 20px;
  background: #fff;
}

/* ===== UM プロフィール（縦長→見やすく） ===== */

/* 1) プロフィールのヘッダー行を横並びに */
.entry-content .um.um-profile .um-header.no-cover{
  display:flex; align-items:center; gap:18px;
  background:#fff; border:1px solid #e5e7eb; border-radius:12px;
  padding:14px; margin-bottom:14px;
}
.entry-content .um.um-profile .um-profile-photo a.um-profile-photo-img{
  width:120px !important; height:120px !important; border-radius:50%;
  overflow:hidden; position:static; top:auto !important; left:auto !important;
  box-shadow:0 8px 18px rgba(0,0,0,.06);
}
.entry-content .um.um-profile .um-profile-meta{
  padding:0 !important; /* 既存テーマの left padding を打ち消し */
}
.entry-content .um.um-profile .um-name a{
  font-size:22px; font-weight:800; color:#0f2746;
}
.entry-content .um.um-profile .um-profile-status{
  margin-top:4px; font-size:12px; color:#6b7280; background:#f8fafc; border:1px solid #e5e7eb;
  border-radius:8px; padding:4px 8px; display:inline-block;
}
/* ヘッダー右上の歯車メニューの位置調整 */
.entry-content .um.um-profile .um-profile-edit.um-profile-headericon{ margin-left:auto; }

/* 2) ナビバーが空の時の無駄スペースを潰す */
.entry-content .um.um-profile .um-profile-navbar{ display:none; }

/* 3) 本文（フィールド群）を2列グリッド化 */
.entry-content .um.um-profile .um-profile-body.main.main-default{
  background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:14px;
}

/* UM は .um-row 内に .um-col-* が一列で入る構造。col の中の field を2列にする */
.entry-content .um.um-profile .um-row._um_row_1 .um-col-1{
  display:grid; grid-template-columns:1fr 1fr; gap:12px 16px;
}

/* 各フィールド間隔を詰める */
.entry-content .um.um-profile .um-field{ margin-bottom:0 !important; }
.entry-content .um.um-profile .um-field-label label{ font-weight:700; color:#374151; }

/* テキストエリア（PR / 経験詳細など）は横幅フルに */
.entry-content .um.um-profile .um-field-textarea{ grid-column:1 / -1; }
.entry-content .um.um-profile .um-field-textarea .um-field-area .um-field-value p{ margin:0; }

/* メール/電話などの値（右側）を読みやすく */
.entry-content .um.um-profile .um-field .um-field-area .um-field-value{
  color:#111827; line-height:1.7;
}

/* “プロフィールが完全ではない” 注意を非表示（不要なら） */
.entry-content .um.um-profile .um-profile-note{ display:none; }

/* 4) スマホは1カラムに戻す */
@media (max-width: 899px){
  .entry-content .um.um-profile .um-header.no-cover{
    flex-direction:column; align-items:flex-start; gap:10px;
  }
  .entry-content .um.um-profile .um-row._um_row_1 .um-col-1{
    grid-template-columns:1fr;
  }
}

/* 5) Kadence のコンテナ余白と馴染ませる（任意） */
#inner-wrap.wrap .entry-content .um.um-profile{ max-width:1000px; margin-inline:auto; }



/* ===== Ultimate Member アカウントページ調整 ===== */
.post-20 .entry-hero { display:none; }

/* プロフィール画像は非表示 */
.post-20 .um.um-account .um-account-meta-img,
.post-20 .um.um-account .um-account-meta-img-b,
.post-20 .um.um-account .um-account-meta .avatar {
  display:none !important;
}

/* アカウント情報・パスワードを1カラムで */
.post-20 .um.um-account .um-form { display:block !important; }
.post-20 .um.um-account .um-account-main { margin-left:0 !important; }
.post-20 .um.um-account .um-row { display:block !important; margin:0 0 20px 0 !important; }
.post-20 .um.um-account .um-col-1,
.post-20 .um.um-account .um-col-2,
.post-20 .um.um-account .um-col-3,
.post-20 .um.um-account .um-col-alt,
.post-20 .um.um-account .um-col-alt-b {
  width:100% !important;
  float:none !important;
  padding:0 !important;
}

/* 入力欄を横幅広めに */
.post-20 .um.um-account .um-account-tab {
  max-width: 960px;  /* ← 前は680px。広げたい分調整可 */
  margin: 0 auto;
}
.post-20 .um.um-account .um-field-area input[type="text"],
.post-20 .um.um-account .um-field-area input[type="password"],
.post-20 .um.um-account .um-field-area input[type="email"] {
  width:100%;
  border:1px solid #d1d5db;
  border-radius:10px;
  padding:12px 14px;
  background:#fbfcfe;
  font-size:16px;
}

/* ボタン */
.post-20 .um.um-account .um-button {
  background:#2563eb;
  border:none;
  color:#fff;
  font-weight:700;
  padding:12px 18px;
  border-radius:10px;
  cursor:pointer;
  font-size:15px;
}
.post-20 .um.um-account .um-button:hover { background:#1d4ed8; }

/* サイドナビ（残す場合は広げても見やすく） */
.post-20 .um.um-account .um-account-side {
  float:none !important;
  width:auto !important;
  margin:0 0 20px 0 !important;
}
.post-20 .um.um-account .um-account-side ul {
  list-style:none;
  margin:8px 0 0;
  padding:0;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
}
.post-20 .um.um-account .um-account-side .um-account-link {
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  color:#1f2937;
  text-decoration:none;
  border-bottom:1px solid #eef2f7;
}
.post-20 .um.um-account .um-account-side .um-account-link.current {
  background:#eef6ff;
  color:#0b3b7a;
  border-left:3px solid #2c6aa6;
}

.um-profile-photo {display: none;}



/* 入力欄とボタンのレイアウトを安定化：左=1fr、右=自動幅 */
.entry-content .um.um-profile .um-ref-ctrl{
  display:grid;
  grid-template-columns: 1fr max-content;
  gap:8px;
  align-items:center;
}

/* 入力欄は縮まず広く、折り返し防止 */
.entry-content .um.um-profile .um-ref-input{
  min-width:0;        /* grid内のオーバーフロー対策 */
  width:100%;
  box-sizing:border-box;
  padding:8px 10px;
  border:1px solid #cbd5e1;
  border-radius:6px;
  background:#fff;
  font-size:14px;
}

/* UMの大きいボタンを小ぶりに＆横幅固定化 */
.entry-content .um.um-profile .um-ref-copy.um-button{
  display:inline-flex;     /* ブロック化を防ぐ */
  align-items:center;
  justify-content:center;
  flex:0 0 auto;           /* 伸縮させない */
  font-size:12px;
  line-height:1.2;
  height:auto;
  padding:6px 10px;
  white-space:nowrap;      /* 1行維持 */
  border-radius:6px;
}

/* コピー後の色（任意） */
.entry-content .um.um-profile .um-ref-copy.is-copied{
  background:#16a34a !important;
  border-color:#16a34a !important;
  color:#fff !important;
}



/* ラベル下にコードを“読みやすいバッジ”で */
.entry-content .um.um-profile #um_field_10_refferal .um-field-label label{
  display:block; margin-bottom:6px; font-weight:700; color:#374151;
}
.entry-content .um.um-profile #refferal-10{
  display:inline-block;
  font: 14px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  color:#0f172a;
  background:#f1f5f9;
  border:1px solid #e2e8f0;
  border-radius:6px;
  padding:6px 10px;
}

/* 紹介者名は“注釈”として控えめに（重複しているコードは目立たせない） */
.entry-content .um.um-profile #um_field_10_refferal + .um-field-shortcode{
  margin-top:8px !important; /* コードと少し間隔 */
}
.entry-content .um.um-profile #um_field_10_refferal + .um-field-shortcode .referrer-name{
  display:block;
  font-size:13.5px;
  color:#6b7280;       /* トーンを落として注釈風に */
  line-height:1.6;
}

/* ▼ UM 登録フォーム（ID=8）の横幅を拡張 */
.um-8.um {
  max-width: 960px !important;   /* お好みで 720〜1080px くらいに */
  width: 100%;
}

/* 各フィールドはボックスっぽく見せる（任意） */
.um-8.um .um-field {
  padding: 6px 0;
}

/* テキスト・セレクト・日付などを全幅に */
.um-8.um .um-field-area .um-form-field,
.um-8.um .um-field-area textarea,
.um-8.um .um-field-area select {
  width: 100%;
}

/* ▼ 横に長い方が使いやすい項目は 2列ぶち抜きに */
#um_field_8_address2,
#um_field_8_experience-detail,
#um_field_8_pr,
#um_field_8_refferal {
  grid-column: 1 / -1;
}

/* チェックボックス/ラジオ行も整える */
.um-8.um .um-field-checkbox .um-field-area,
.um-8.um .um-field-radio .um-field-area {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
}

/* 送信ボタン行：左右に並べず1列で中央寄せ（見た目をすっきり） */
.um-8.um .um-col-alt {
  grid-column: 1 / -1;
  display: flex;
  gap: 12px;
  justify-content: center;
}
.um-8.um .um-left.um-half,
.um-8.um .um-right.um-half {
  float: none;     /* UMのfloatを無効化 */
  width: auto;     /* 幅リセット */
}

/* ボタンの見栄え（お好みで） */
.um-8.um .um-button {
  padding: 10px 18px;
  border-radius: 10px;
  font-weight: 700;
}
.um-8.um a.um-button.um-alt { 
  background: #eef2f7; 
  color: #0f2746; 
  border: 1px solid #e3e8ef;
}

/* 見出し・ラベル周りの微調整 */
.um-8.um .um-field-label label {
  font-weight: 700;
  color: #1f2937;
}

/* スマホでは1カラムに戻す */
@media (max-width: 768px){
  .um-8.um { max-width: 100% !important; }
  .um-8.um .um-col-1 { grid-template-columns: 1fr; }
}

