@charset "Shift_JIS";
/* =====================================================
   応募フォーム共通デザイン  BUILD: 20260722-28
   （PC・スマホ両対応）
   ===================================================== */

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body.fm {
	margin: 0;
	padding: 16px 10px 40px 10px;
	background: #f4f1ea;
	color: #000000;
	font-family: Meiryo, "Hiragino Kaku Gothic ProN", "MS PGothic", sans-serif;
	font-size: 16px;
	line-height: 1.7;
}

.wrap {
	max-width: 680px;
	margin: 0 auto;
}

/* ---- カード ---- */
.card {
	background: #ffffff;
	border: 1px solid #e0dbd0;
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.06);
	padding: 20px 18px;
	margin: 0 0 18px 0;
}

.card h1 {
	font-size: 21px;
	margin: 0 0 14px 0;
	padding-bottom: 10px;
	border-bottom: 2px solid #7a6a4f;
	text-align: center;
	letter-spacing: 2px;
}

.card h2 {
	font-size: 17px;
	margin: 0 0 12px 0;
	padding: 8px 12px;
	background: #f2ede2;
	border-left: 5px solid #7a6a4f;
	border-radius: 4px;
}

/* ---- お知らせ ---- */
.note {
	background: #fff7e0;
	border: 1px solid #e8d59a;
	border-radius: 8px;
	padding: 12px 14px;
	margin: 12px 0;
	font-size: 15px;
}

.note-red {
	background: #fdeeee;
	border: 1px solid #e5b8b8;
	border-radius: 8px;
	padding: 12px 14px;
	margin: 12px 0;
	font-size: 15px;
	color: #b02020;
}

.must {
	display: inline-block;
	background: #d04040;
	color: #ffffff;
	font-size: 12px;
	border-radius: 4px;
	padding: 1px 8px;
	margin-left: 8px;
	vertical-align: middle;
}

.any {
	display: inline-block;
	background: #999999;
	color: #ffffff;
	font-size: 12px;
	border-radius: 4px;
	padding: 1px 8px;
	margin-left: 8px;
	vertical-align: middle;
}

/* ---- 入力欄 ---- */
.fld {
	margin: 0 0 20px 0;
}

.fld .lbl {
	font-weight: bold;
	margin-bottom: 6px;
	display: block;
}

input[type="text"].big,
input[type="password"].big,
input[type="email"].big,
input[type="tel"].big,
textarea.big {
	width: 100%;
	font-size: 18px;
	padding: 13px 12px;
	border: 2px solid #c9c2b4;
	border-radius: 8px;
	background: #ffffff;
}

input[type="text"].big:focus,
input[type="password"].big:focus,
input[type="email"].big:focus,
input[type="tel"].big:focus,
textarea.big:focus {
	outline: none;
	border-color: #7a6a4f;
	background: #fffdf5;
}

input[type="text"].mid {
	width: 9em;
	max-width: 100%;
	font-size: 18px;
	padding: 12px 10px;
	border: 2px solid #c9c2b4;
	border-radius: 8px;
	text-align: center;
}

input[type="file"].big {
	width: 100%;
	font-size: 15px;
	padding: 10px;
	border: 2px dashed #c9c2b4;
	border-radius: 8px;
	background: #faf8f2;
}

.hint {
	font-size: 13px;
	color: #000000;
	margin-top: 4px;
}

/* ---- 選択肢（大きく押せる） ---- */
.opt {
	display: block;
	border: 2px solid #c9c2b4;
	border-radius: 10px;
	background: #ffffff;
	padding: 14px 14px;
	margin: 8px 0;
	font-size: 17px;
	cursor: pointer;
}

.opt input[type="radio"] {
	width: 22px;
	height: 22px;
	margin-right: 10px;
	vertical-align: -4px;
}

.opt:hover { background: #fdf9ee; }

.opt-sub {
	margin: 6px 0 6px 32px;
	font-size: 15px;
}

/* ---- ボタン ---- */
.btn,
input[type="submit"].btn,
input[type="button"].btn {
	display: block;
	width: 100%;
	max-width: 420px;
	margin: 10px auto;
	font-size: 20px;
	font-weight: bold;
	padding: 18px 10px;
	border: 0;
	border-radius: 10px;
	background: #b8353c;
	color: #ffffff;
	cursor: pointer;
	letter-spacing: 2px;
}

.btn:hover { background: #d04a52; }

.btn-sub,
input[type="submit"].btn-sub,
input[type="button"].btn-sub {
	display: block;
	width: 100%;
	max-width: 420px;
	margin: 10px auto;
	font-size: 16px;
	padding: 13px 10px;
	border: 2px solid #a0988a;
	border-radius: 10px;
	background: #ffffff;
	color: #000000;
	cursor: pointer;
}

.btn-sub:hover { background: #f2ede2; }

/* ---- 手順 ---- */
.steps { margin: 8px 0; padding: 0; list-style: none; }

.steps li {
	position: relative;
	background: #faf8f2;
	border: 1px solid #e0dbd0;
	border-radius: 8px;
	padding: 12px 14px 12px 48px;
	margin: 0 0 20px 0;
	font-size: 16px;
}

.steps li .num {
	position: absolute;
	left: 12px;
	top: 50%;
	margin-top: -13px;
	width: 26px;
	height: 26px;
	line-height: 26px;
	text-align: center;
	background: #7a6a4f;
	color: #ffffff;
	border-radius: 50%;
	font-weight: bold;
	font-size: 14px;
}

.steps li:after {
	content: "▼";
	position: absolute;
	left: 50%;
	bottom: -19px;
	margin-left: -8px;
	color: #000000;
	font-size: 12px;
}

.steps li:last-child:after { content: ""; }
.steps li:last-child { margin-bottom: 0; }

/* ---- 確認画面の表 ---- */
table.cfm {
	width: 100%;
	border-collapse: collapse;
	margin: 12px 0;
}

table.cfm th,
table.cfm td {
	border: 1px solid #d8d2c4;
	padding: 10px 10px;
	font-size: 15px;
	text-align: left;
	word-break: break-all;
}

table.cfm th {
	background: #f2ede2;
	width: 32%;
	font-weight: bold;
}

table.cfm img { max-width: 100%; height: auto; }

/* ---- メールドメイン候補 ---- */
.dsug { margin-top: 6px; }

.dsug-btn {
	display: inline-block;
	font-size: 15px;
	padding: 9px 12px;
	margin: 3px 4px 3px 0;
	border: 2px solid #7a6a4f;
	border-radius: 20px;
	background: #fdf9ee;
	color: #000000;
	cursor: pointer;
}

.dsug-btn:hover { background: #f2e6c8; }

/* ---- 女性の選考リスト ---- */
.lg { display:inline-block; width:34px; height:16px; border:1px solid #999999; vertical-align:-3px; }
.lg-y { background:#ffff84; }
.lg-b { background:#84c1ff; }

table.aplist {
	width:100%; max-width:680px; border-collapse:collapse;
	margin:0 auto 18px auto; background:#ffffff;
	border:1px solid #c9c2b4; border-radius:10px; overflow:hidden;
	box-shadow:0 2px 8px rgba(0,0,0,0.06);
}
table.aplist td { border-bottom:1px solid #e6e0d4; padding:8px 10px; font-size:15px; vertical-align:top; }
table.aplist td[nowrap] { white-space:normal; }
table.aplist img { max-width:31%; height:auto; border-radius:6px; margin:2px; }
table.aplist input[type="submit"] {
	font-size:15px; font-weight:bold; padding:10px 16px; min-height:44px;
	border:1px solid #7a6a4f; border-radius:8px; background:#ffffff; cursor:pointer;
}
table.aplist input[type="submit"]:hover { background:#fdf9ee; }

@media (max-width: 480px) {
	table.aplist td:first-child { width:34%; }
}


/* ---- 選考リスト カード型（コンパクト表示） ---- */
.apcard {
	max-width:680px; margin:0 auto 12px auto; background:#ffffff;
	border:1px solid #c9c2b4; border-radius:12px; overflow:hidden;
	box-shadow:0 2px 8px rgba(0,0,0,0.07);
}
.ap-head { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap;
	padding:7px 14px; background:#f2ede2; border-bottom:1px solid #d8d2c4; }
.ap-name { font-size:19px; font-weight:bold; }
.ap-spec { font-size:14.5px; color:#000000; font-weight:bold; }
.ap-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(210px, 1fr)); }
.ap-item { display:flex; gap:6px; align-items:baseline;
	padding:5px 12px; border-bottom:1px solid #f0ebe0; font-size:14.5px; }
.ap-item .ap-k { flex:none; font-size:12px; color:#000000; }
.ap-item .ap-k:after { content:":"; }
.ap-item .ap-v { line-height:1.5; font-weight:bold; }
.ap-wide { grid-column:1 / -1; display:block; padding:6px 12px; }
.ap-wide .ap-k:after { content:""; }
.ap-wide .ap-k { display:block; margin-bottom:1px; }
.ap-wide .ap-v { display:block; font-size:14.5px; line-height:1.6; font-weight:bold; }
.ap-main { display:flex; gap:12px; align-items:flex-start;
	padding:8px 12px; border-bottom:1px solid #f0ebe0; flex-wrap:wrap; }
.ap-photo { flex:0 0 132px; max-width:132px; }
.ap-photo img { width:100%; height:auto; display:block; border-radius:6px;
	margin:0 0 4px 0; cursor:zoom-in; }
.ap-photo-big { flex:1 1 100%; max-width:100%; }
.ap-photo-big img { cursor:zoom-out; }
.ap-pr { flex:1 1 200px; font-size:14.5px; }
.ap-pr .ap-k { display:block; font-size:12px; color:#000000; margin-bottom:1px; }
.ap-pr .ap-v { display:block; line-height:1.65; font-weight:bold; }
.ap-shot { font-size:11.5px; color:#000000; margin-top:2px; line-height:1.4; }
.ap-shot-k { display:block; color:#000000; }
.ap-stat { padding:5px 12px; border-bottom:1px solid #eee8db; }
.ap-tag { display:inline-block; padding:3px 8px; margin:2px 6px 2px 0;
	border-radius:5px; font-size:13px; }
.ap-foot { padding:7px 12px; }
.ap-no { background:#ffff84; }
.ap-in { background:#d6d3ff; }
.ap-foot input[type="submit"] {
	font-size:15px; font-weight:bold; padding:10px 16px; min-height:44px;
	border:1px solid #7a6a4f; border-radius:8px; background:#ffffff; cursor:pointer; }
.ap-foot input[type="submit"]:hover { background:#fdf9ee; }
.ap-note { font-size:12.5px; margin-left:8px; }
.ap-rec { float:right; display:inline-block; padding:4px 12px;
	background:#2222cc; color:#ffee00; font-weight:bold; font-size:14px;
	border:2px solid #7a7af0; border-radius:4px; letter-spacing:1px; }

@media (max-width: 480px) {
	.ap-grid { grid-template-columns:1fr; }
	.ap-name { font-size:17px; }
}

/* ---- スマホ ---- */
@media (max-width: 480px) {
	body.fm { font-size: 15px; padding: 10px 6px 30px 6px; }
	.card { padding: 16px 12px; border-radius: 10px; }
	.card h1 { font-size: 19px; }
	table.cfm th, table.cfm td { display: block; width: 100%; border-top: 0; }
	table.cfm tr th { border-top: 1px solid #d8d2c4; }
	table.cfm { border-top: 1px solid #d8d2c4; }
	table.cfm th { width: 100%; }
}
