@charset "utf-8";

.kojin {
	font-size: var(--fz-12);
	padding-bottom: 0;
}

.catcenter {
	font-weight: var(--fw-bold);
}
.catcenter strong {
	font-size: var(--fz-28);
	color: var(--color-org)
}

.totop {
	display: flex;
	justify-content: center;
	gap: 20px; /* ボタン同士の間隔 */
	padding: 40px 0;
}

.totop a {
	display: inline-block;
	background: var(--color-gray3);
	color: var(--color-wh);
	font-size: var(--fz-24);
	font-weight: var(--fw-bold);
	padding: 15px 50px;
	cursor: pointer;
	border-radius: 10px;
	border: none;
	margin-right: 20px;
	text-decoration: none;
}
.totop a.btn-event {
	background: #e17959;
}
.recaptchatext {
	width: 100%;
	padding: 0 var(--sp-20);
	margin: 0 auto;
	font-size: var(--fz-12);
	font-weight: var(--fw-regular);
}

.wpcf7-spinner {
	display: block;
}
.dummail {
	display: none;
}
.form-nav {
	padding: 40px 0 0;
	margin: 0 auto;
	margin-bottom:30px;
}

.wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

.c-form {
}

.c-form dl, .c-form__agreement {
	display: flex;
	padding: 25px 0;
	border-bottom: 1px solid #ccc;
	align-items: flex-start; 
}

.c-form dt {
	flex: 0 0 250px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-right: 30px;
	margin-top: 8px;
	font-weight: var(--fw-bold);
	font-size: var(--fz-18);
}

.c-form dt span {
	background: #e60012;
	color: var(--color-wh);
	font-size: var(--fz-15);
	font-weight: var(--fw-bold);
	padding: 6px 10px;
	line-height: 1.2;
	border-radius: 6px;
}

.c-form dt span.bl {
	background: #0086c9;
}

.c-form dd {
	flex: 1;
}

.c-form dd input[type="text"],
.c-form dd input[type="email"],
.c-form dd textarea {
	width: 100%;
	padding: 10px;
	border: 1px solid #999;
	font-size: var(--fz-18);
	border-radius: 10px;
}

.c-form dd select {
	width: auto;
	padding: 10px;
	border: 1px solid #999;
	cursor: pointer;
	border-radius: 10px;
}

.c-form dd textarea { height: 150px; }

.wpcf7-list-item { margin: 0 20px 0 0; display: inline-block; }

.c-form__agreement { border-bottom: none; padding-top: 40px; }

.c-form__submit { text-align: center; padding: 40px 0; }

.c-form__submit input[type="submit"] {
	background: #e17959;
	color: var(--color-wh);
	font-size: var(--fz-24);
	font-weight: var(--fw-bold);
	padding: 15px 50px;
	cursor: pointer;
	border-radius: 10px;
	border: none;
	transition: all 0.2s;
}

.c-form__submit input[type="submit"]:active {
	transform: translateY(3px);
	box-shadow: none;
}

/* 戻るボタンの基本スタイル */
.wpcf7-previous {
	display: inline-block;
	background: var(--color-gray3);
	color: var(--color-wh);
	font-size: var(--fz-24);
	font-weight: var(--fw-bold);
	padding: 15px 50px;
	cursor: pointer;
	border-radius: 10px;
	border: none;
	margin-right: 20px;
}

/* --- 確認画面（is-confirm）用のスタイル --- */
.is-confirm input[type="text"],
.is-confirm input[type="email"],
.is-confirm textarea,
.is-confirm select,
.is-confirm .c-form dt span,
.is-confirm .wpcf7-list-item {
	display: none !important;
}

.is-confirm .c-form dd {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	min-height: 1.6em;
}

/* メッセージエリアが空、またはボーダーだけ見える状態を防ぐ */
.wpcf7-response-output {
	display: none !important;
}

/* 本当にメッセージ（送信完了やエラー）がある時だけ表示させる */
.wpcf7-form.sent .wpcf7-response-output,
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.spam .wpcf7-response-output,
.wpcf7-form.failed .wpcf7-response-output {
	display: block !important;
}





.c-form .zipwidth {
	width: 150px !important;
}


/* /////////////////////////// */
/* /////////////////////////// */
/* /////////////////////////// */
/* スマホ用 */
@media (max-width:769px) {


	.totop {
		flex-direction: column;
		gap: 20px;
		padding: 0;
		text-align: center;
	}
	.totop a {
		margin-right:0;
	}

	.form-nav,
	.c-form {
		max-width: none;
	}

	.c-form dl, .c-form__agreement {
		flex-direction: column;
		align-items: flex-start;
	}
	.c-form dt {
		flex: 0 0 0;
		width: 100%;
		justify-content: flex-start;
		gap: 15px;
		margin-bottom: 10px;
	}
	.c-form dd { width: 100%; }
	.c-form dd input, .c-form dd select, .c-form dd textarea {
		width: 100% !important;
	}
	.c-form__submit input[type="submit"], .wpcf7-previous {
		width: 100%;
		margin: 10px 0;
	}

	.c-form__input--radio .wpcf7-list-item {
		display: block;
		margin: 0 0 15px 0;
	}
	
	/* 2. ラベル全体を横並び（フレックス）にして揃える */
	.c-form__input--radio .wpcf7-list-item-label {
		display: inline-flex !important;
		align-items: center !important;
		vertical-align: middle;
		white-space: normal;
		line-height: 1.4 !important;
		margin: -12px 0 0 0;
	}
	
	/* 3. ラジオボタン本体（ポチ）の調整 */
	.c-form__input--radio input[type="radio"],
	.c-form__input--radio input[type="checkbox"] {
		width: 20px !important;
		height: 20px !important;
		margin: 0 10px 0 0 !important;
		flex-shrink: 0;
	}

	.c-form dd select {
		-webkit-appearance: none; /* iOSのデフォルトスタイルを解除 */
		-moz-appearance: none;
		appearance: none;
		background-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24"><path fill="%23333" d="M7 10l5 5 5-5z"/></svg>'); /* 下矢印を自作 */
		background-repeat: no-repeat;
		background-position: right 15px center;
		background-size: 18px;
		padding-right: 40px !important; /* 矢印と重ならないように */
		background-color: #fff;
	}
	
	/* 確認画面（.is-confirm）ではラジオボタンを消す設定が既にあるので、
		 テキストだけが残るように調整 */
	.is-confirm .c-form__input--radio .wpcf7-list-item {
		white-space: nowrap;
	}




}