/* 指摘356: 足した項目の見た目（見本 design/skioita-apply-form-v1.html）。色は今のフォームの色だけ（form-layout.css と同じ値）。 */
/* ② お申し込みになる方・④ お知らせと誓約の箱: ① の箱と同じ 2 列 */
.wpcf7 form.sao-flayout .sao-apply-box { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 18px; }
.wpcf7 form.sao-flayout .sao-apply-box > * { grid-column: 1 / -1; min-width: 0; }
.wpcf7 form.sao-flayout .sao-apply-box > .is-half { grid-column: auto; }
@media (max-width: 600px) {
	.wpcf7 form.sao-flayout .sao-apply-box { grid-template-columns: minmax(0, 1fr); }
	.wpcf7 form.sao-flayout .sao-apply-box > .is-half { grid-column: 1 / -1; }
}
.wpcf7 form.sao-flayout .sao-apply-box .sao-fmrow > .wpcf7-form-control-wrap { display: block; }
.wpcf7 form.sao-flayout .sao-apply-box .sao-fnote { display: block; margin-top: 6px; font-size: 13.5px; color: #49505A; }
/* 選ぶ欄（ラジオ）: チェックの欄（.sao-fmrow--checkbox）と同じタイル */
/* 指摘370■2: auto-fill → auto-fit。答えが2つの問いで、使わない列（空き）を作らず、2つで行を分ける（見本 v3 の .tiles.two〈2つで横いっぱい〉と同じ形）。
   前は 1280 で 211px×3 列のうち2列だけを使い、「受けない（プライズテストだけ）」の「）」だけが次の行に落ちていた。答えが3つ以上の問いは前と同じ */
/* 指摘371: 1列の最小を min(200px, 100%) に（箱が 200px より狭いとき〈320 の幅の案内の箱 190px〉、ボタンが箱から 10px はみ出していた）。箱が 200px 以上なら前と同じ */
.wpcf7 form.sao-flayout .sao-fmrow--radio .wpcf7-radio { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 8px; }
.wpcf7 form.sao-flayout .sao-fmrow--radio .wpcf7-list-item { margin: 0; }
.wpcf7 form.sao-flayout .sao-fmrow--radio .wpcf7-list-item label {
	display: flex; align-items: center; gap: 8px; min-height: 48px; height: 100%; margin: 0;
	border: 1px solid #9AA9B6; border-radius: 8px; background: #fff; padding: 8px 12px;
	cursor: pointer; font-size: 15px; font-weight: 400; line-height: 1.5; color: #16202B;
}
.wpcf7 form.sao-flayout .sao-fmrow--radio .wpcf7-list-item input { width: 22px; height: 22px; flex: none; margin: 0; accent-color: #0B5A9E; }
.wpcf7 form.sao-flayout .sao-fmrow--radio .wpcf7-list-item label:has(input:checked) { border-color: #0B5A9E; background: #EAF3FB; font-weight: 700; color: #0A2E4D; }
.wpcf7 form.sao-flayout .sao-fmrow--radio .wpcf7-list-item label:has(input:focus-visible) { outline: 3px solid #0B5A9E; outline-offset: 1px; }
/* 誓約 */
.wpcf7 form.sao-flayout .sao-ap-pledge { margin: 0 0 10px !important; padding: 12px 14px; background: #F4F7F9; border: 1px solid #DFE7EE; border-radius: 8px; font-size: 15px; line-height: 1.8; }
.wpcf7 form.sao-flayout .sao-ap-pledge-check .wpcf7-list-item { margin: 0; }
.wpcf7 form.sao-flayout .sao-ap-pledge-check label { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; cursor: pointer; }
.wpcf7 form.sao-flayout .sao-ap-pledge-check input { width: 22px; height: 22px; accent-color: #0B5A9E; }
/* 出し分けで隠した行（.sao-fmrow の display に負けないように） */
.wpcf7 form.sao-flayout [hidden] { display: none !important; }
/* ---------- 指摘359（見本 design/skioita-apply-form-v2.html。色は今のフォームの色だけ） ---------- */
/* 箱の中の行: 2 列（is-half）・スマホは 1 列 */
.wpcf7 form.sao-flayout .sao-apply-box { display: block; }
.wpcf7 form.sao-flayout .sao-ap-rows { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 18px; }
.wpcf7 form.sao-flayout .sao-ap-rows > * { grid-column: 1 / -1; min-width: 0; }
.wpcf7 form.sao-flayout .sao-ap-rows > .is-half { grid-column: auto; }
@media (max-width: 600px) {
	.wpcf7 form.sao-flayout .sao-ap-rows { grid-template-columns: minmax(0, 1fr); }
	.wpcf7 form.sao-flayout .sao-ap-rows > .is-half { grid-column: 1 / -1; }
}
.wpcf7 form.sao-flayout .sao-ap-cell .wpcf7-form-control-wrap { display: block; }
.wpcf7 form.sao-flayout .sao-ap-cell > p { margin: 0; }
/* 「（2人目）」は画面では隠し、確認画面の見出しと読み上げに使う */
.wpcf7 form.sao-flayout .sao-ap-pn { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
/* 参加される方: 1人ずつの札 */
.wpcf7 form.sao-flayout .sao-ap-person { border: 1px solid #DFE7EE; border-radius: 10px; padding: 16px 16px 6px; margin: 0 0 14px; background: #F5F9FC; }
.wpcf7 form.sao-flayout .sao-ap-person-h { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 6px; }
.wpcf7 form.sao-flayout .sao-ap-person-h b { font-size: 16px; color: #0A2E4D; }
.wpcf7 form.sao-flayout .sao-ap-del { background: none; border: 0; padding: 6px 2px; min-height: 44px; font: inherit; font-size: 14px; color: #0B5A9E; text-decoration: underline; cursor: pointer; }
.wpcf7 form.sao-flayout .sao-ap-add { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; border: 1px dashed #0B5A9E; border-radius: 8px; background: #fff; color: #0B5A9E; font: inherit; font-weight: 700; cursor: pointer; }
.wpcf7 form.sao-flayout .sao-ap-add:focus-visible, .wpcf7 form.sao-flayout .sao-ap-del:focus-visible { outline: 3px solid #0B5A9E; outline-offset: 2px; }
.wpcf7 form.sao-flayout .sao-ap-addrow, .wpcf7 form.sao-flayout .sao-ap-full { margin: 0; }
.wpcf7 form.sao-flayout .sao-ap-full { font-size: 14px; color: #5E7183; text-align: center; padding: 10px 0; }
/* 18歳未満（1人ずつ）: 生年月日から自動のときは、チェックの欄は見せない（値は送る） */
.wpcf7 form.sao-flayout .sao-ap-minor { border-top: 1px dashed #DFE7EE; margin: 6px 0 10px; padding-top: 10px; }
.wpcf7 form.sao-flayout .sao-ap-minor .sao-minor { margin: 0; padding: 0; border: 0; background: none; }
.wpcf7 form.sao-flayout .sao-ap-minor[data-auto] .sao-minor-check { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
.wpcf7 form.sao-flayout .sao-ap-auto { display: inline-block; font-size: 12px; font-weight: 700; padding: 1px 7px; border-radius: 4px; margin-right: 6px; background: #E8F2FA; color: #0A4F8A; }
/* 連絡先 */
.wpcf7 form.sao-flayout .sao-ap-telnote { margin: -4px 0 12px; font-size: 13.5px; color: #49505A; }
.wpcf7 form.sao-flayout .sao-ap-telerr, .wpcf7 form.sao-flayout .sao-ap-kgmsg { margin: 0 0 12px; font-size: 14px; font-weight: 700; color: #B3261E; }
.wpcf7 form.sao-flayout .sao-ap-towns select { width: 100%; min-height: 46px; }
/* 行の中の改行（CF7 が足す <br>）は見せない・ラジオの欄の枠は ① の箱と同じく無し */
.wpcf7 form.sao-flayout .sao-ap-cell br { display: none; }
.wpcf7 form.sao-flayout .sao-ap-cell fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.wpcf7 form.sao-flayout .sao-ap-cell legend { padding: 0; }
.wpcf7 form.sao-flayout .sao-ap-cell { margin-bottom: 14px; }
.wpcf7 form.sao-flayout .sao-ap-person-h > p { display: contents; }
/* 指摘360: 午前のみの回（選択肢に添える文・半日コースだけの日の受講期間） */
.wpcf7 form.sao-flayout .sao-ap-halfmark { display: block; font-size: 13px; font-weight: 400; color: #49505A; }
.wpcf7 form.sao-flayout .sao-fmrow--radio .wpcf7-list-item label.is-locked { opacity: .45; cursor: not-allowed; background: #EEF3F7; }
.wpcf7 form.sao-flayout .sao-ap-halfnote { margin: 8px 0 0; font-size: 14px; color: #0A2E4D; }
/* 指摘362: 1人ずつの「かんたん案内」（見本 design/skioita-apply-form-v3.html〈v3.1〉。色は今のフォームの色だけ） */
.wpcf7 form.sao-flayout .sao-ap-guide { border: 1px solid #0B5A9E; background: #fff; border-radius: 8px; padding: 12px 14px; margin: 0 0 12px; }
.wpcf7 form.sao-flayout .sao-ap-guide-h { margin: 0 0 6px; font-size: 15px; font-weight: 700; color: #0A2E4D; }
.wpcf7 form.sao-flayout .sao-ap-sum { margin: 8px 0 0; font-size: 14.5px; font-weight: 700; color: #0A2E4D; }
/* 指摘388■1-1(見本 design/skioita-notice-v1.html の「補足（小さい形）」「大事な注意（小さい形）」): 左の縦の線をやめ、角丸 10px の地＋左のアイコン(::before)。
   前: .sao-ap-gmsg は #EAF3FB の地・border-left 3px #0B5A9E・padding 6px 10px、.is-stop は線と文字が #B3261E。CSS だけの直し(PHP・JS は変えていない)。 */
.wpcf7 form.sao-flayout .sao-ap-gmsg { position: relative; margin: 8px 0 0; font-size: 14px; background: #E8F2FA; border-radius: 10px; padding: 8px 12px 8px 36px; }
.wpcf7 form.sao-flayout .sao-ap-gmsg.is-stop { background: #FDF2F0; color: #9B2C20; font-weight: 700; }
.wpcf7 form.sao-flayout .sao-ap-person-acts { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
/* 指摘368（見本 design/skioita-apply-form-v3.html v3.2）: 外せない講習会の日（I2。押せない見せ方は受講期間と同じ）と、決まりの文（I2 は案内、I3・I6・I7 は送れない文） */
.wpcf7 form.sao-flayout .sao-fmrow--checkbox .wpcf7-list-item label.is-locked { opacity: .45; cursor: not-allowed; }
/* 指摘388■1-1: 前は #F5F9FC の地・border-left 3px #0B5A9E、送れない文(i3・own)は線と文字が #B3261E */
.wpcf7 form.sao-flayout .sao-ap-rulemsg { position: relative; margin: 8px 0 0; font-size: 14px; background: #E8F2FA; border-radius: 10px; padding: 8px 12px 8px 36px; }
.wpcf7 form.sao-flayout .sao-ap-i3msg, .wpcf7 form.sao-flayout .sao-ap-ownmsg { background: #FDF2F0; color: #9B2C20; font-weight: 700; }
/* 左のアイコン: 補足は青のご案内(ice の地で 6.23:1)、大事な注意は赤の重要(#FDF2F0 で 4.96:1)。絵はテーマの icons.css の --sao-icm-* */
.wpcf7 form.sao-flayout .sao-ap-gmsg::before, .wpcf7 form.sao-flayout .sao-ap-rulemsg::before {
	content: ""; position: absolute; left: 12px; top: 11px; width: 17px; height: 17px; background-color: #0B5A9E;
	-webkit-mask: var(--sao-icm-u-note) center / contain no-repeat; mask: var(--sao-icm-u-note) center / contain no-repeat;
}
.wpcf7 form.sao-flayout .sao-ap-gmsg.is-stop::before, .wpcf7 form.sao-flayout .sao-ap-rulemsg.is-stop::before,
.wpcf7 form.sao-flayout .sao-ap-i3msg::before, .wpcf7 form.sao-flayout .sao-ap-ownmsg::before, .wpcf7 form.sao-flayout .sao-ap-latemsg::before {
	background-color: #C0392B; -webkit-mask-image: var(--sao-icm-u-imp); mask-image: var(--sao-icm-u-imp);
}
.wpcf7 form.sao-flayout .sao-ap-rulemsg[hidden] { display: none; }

/* 指摘370■2 の .sao-ap-paren（「（…）」全体を inline-block）は、指摘371 でやめた（320 の幅で上に1行分の空きができたため）。
   いまは閉じかっことその前の1字だけを .sao-nowrap で包む（inc/fields.php） */

/* 【指摘374】決まり J の見せ方（見本 design/skioita-apply-form-v4.1.html。今の色だけ。新しい色・光る・点滅なし） */
.wpcf7 form.sao-flayout .sao-ap-rulemsg.is-stop, .wpcf7 form.sao-flayout .sao-ap-latemsg { background: #FDF2F0; color: #9B2C20; font-weight: 700; } /* 指摘388■1-1: 前は線と文字が #B3261E */
.wpcf7 form.sao-flayout .sao-ap-familyrow { margin: 12px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.wpcf7 form.sao-flayout .sao-ap-familyrow[hidden] { display: none; }
.wpcf7 form.sao-flayout .sao-ap-family { font: inherit; font-weight: 700; min-height: 44px; padding: 8px 16px; border: 1px solid #0B5A9E; border-radius: 8px; background: #fff; color: #0B5A9E; cursor: pointer; }
.wpcf7 form.sao-flayout .sao-ap-family.is-on { background: #E8F2FA; color: #0A2E4D; }
.wpcf7 form.sao-flayout .sao-ap-family:focus-visible { outline: 3px solid #0B5A9E; outline-offset: 2px; }
.wpcf7 form.sao-flayout .sao-ap-familymsg { font-size: 14px; color: #0A2E4D; font-weight: 700; }
.wpcf7 form.sao-flayout .sao-ap-family-note { font-size: 14px; }
/* ポップアップ（フェード。動きを減らす設定のときは、すぐ出る） */
.sao-ap-pop { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 16px; background: rgba(10, 46, 77, .45); opacity: 0; visibility: hidden; transition: opacity .35s ease, visibility 0s linear .35s; }
.sao-ap-pop.is-show { opacity: 1; visibility: visible; transition: opacity .35s ease; }
.sao-ap-pop[hidden] { display: none; }
.sao-ap-pop-card { width: 100%; max-width: 460px; background: #fff; border: 1px solid #DFE7EE; border-radius: 12px; padding: 22px 20px; color: #16202B; }
.sao-ap-pop-h { margin: 0 0 8px; font-size: 18px; font-weight: 700; color: #0A2E4D; }
.sao-ap-pop-b, .sao-ap-pop-links { margin: 0 0 12px; font-size: 15px; line-height: 1.7; }
.sao-ap-pop-links a, .sao-ap-pop-back { color: #0B5A9E; }
.sao-ap-pop-row { margin: 14px 0 0; display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 12px; }
.sao-ap-pop-back { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; border: 1px solid #0B5A9E; border-radius: 8px; text-decoration: none; font-weight: 700; }
.sao-ap-pop-ok { font: inherit; font-size: 17px; font-weight: 700; min-height: 46px; padding: 10px 22px; border: 0; border-radius: 4px; background: #C2410C; color: #fff; cursor: pointer; }
.sao-ap-pop-ok:hover, .sao-ap-pop-ok:focus-visible { background: #9A3412; }
.sao-ap-pop-ok:focus-visible, .sao-ap-pop-back:focus-visible { outline: 3px solid #0B5A9E; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .sao-ap-pop, .sao-ap-pop.is-show { transition: none; } }
@media (max-width: 600px) { .sao-ap-pop-ok { width: 100%; } }

/* 指摘378■1-2: 中止の回（押せない・薄く。外せない日〈is-locked〉と同じ見た目） */
.wpcf7 form.sao-flayout .sao-fmrow--radio .wpcf7-list-item label.is-cancelled { opacity: .45; cursor: not-allowed; background: #EEF3F7; }
.wpcf7 form.sao-flayout .sao-fmrow--checkbox .wpcf7-list-item label.is-cancelled { opacity: .45; cursor: not-allowed; }
.wpcf7 form .sao-ap-cancelmark { margin-left: .25em; font-weight: 700; }

/* 【2026-10-18】当日受付（QR）: フォームの上の案内・送信のあとの完了の文 */
.sao-ap-onsite { border: 2px solid #1b7a3a; background: #eef8f1; border-radius: 10px; padding: 12px 14px; margin: 0 0 16px; }
.sao-ap-onsite p { margin: 0 0 6px; line-height: 1.7; }
.sao-ap-onsite p:last-child { margin-bottom: 0; }
.sao-ap-onsite .sao-ap-onsite-h { font-weight: 700; font-size: 1.15em; color: #14592b; }
.sao-ap-onsite-done { padding: 20px 16px; text-align: center; }
.sao-ap-onsite-done .sao-ap-onsite-h { font-size: 1.4em; }
