@charset "UTF-8";
/*
	恋みくじ ユーザーヒアリング募集ページ（/hearing/）
	top.css（変数・見出し・本文・ボタン）の上に、このページの部品だけを足す。

	目次
	1. 本文
	2. フォーム
	3. 運営会社・送信後
*/

/* 本文
----------------------------------------------------------- */
.kh_page .kt_ttl {
	line-height: 1.6;
}

.kh_list {
	margin: 4px 0 18px;
	padding-left: 4px;
	list-style: none;
}

.kh_list li {
	position: relative;
	padding-left: 18px;
	font-size: 15px;
	line-height: 2.1;
	letter-spacing: .06em;
}

.kh_list li::before {
	content: '';
	position: absolute;
	top: 13px;
	left: 0;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--kt_pink2);
}

.kh_page .kt_guide_table_wrap + p {
	margin-top: 18px;
}

.kh_small {
	font-size: 13px;
	color: var(--kt_txt2);
}

/* フォーム
----------------------------------------------------------- */
.kh_form_wrap {
	max-width: 760px;
	margin: 56px auto 0;
	padding: 40px 44px 44px;
	border: 1px solid var(--kt_pink_pale);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(224, 80, 111, .08);
}

.kh_form_ttl {
	margin-bottom: 8px;
	font-size: 22px;
	font-weight: 600;
	letter-spacing: .12em;
	text-align: center;
	color: var(--kt_pink);
}

.kh_field {
	margin-top: 30px;
}

.kh_label {
	display: block;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: .06em;
}

.kh_req,
.kh_opt {
	display: inline-block;
	margin-left: 10px;
	padding: 1px 8px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .1em;
	vertical-align: 2px;
}

.kh_req {
	background: var(--kt_pink);
	color: #fff;
}

.kh_opt {
	border: 1px solid var(--kt_line);
	color: var(--kt_txt2);
}

.kh_hint {
	margin-top: 4px;
	font-size: 13px;
	line-height: 1.8;
	color: var(--kt_txt2);
}

.kh_choices {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 12px;
}

.kh_choice {
	position: relative;
	cursor: pointer;
}

.kh_choice input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.kh_choice span {
	display: inline-block;
	min-width: 110px;
	padding: 10px 20px;
	border: 1px solid var(--kt_line);
	border-radius: 999px;
	background: #fff;
	font-size: 15px;
	letter-spacing: .06em;
	text-align: center;
	transition: .2s;
}

.kh_choice input:checked + span {
	border-color: var(--kt_pink);
	background: var(--kt_pink_bg);
	font-weight: 600;
	color: var(--kt_pink);
}

.kh_choice input:focus-visible + span {
	box-shadow: 0 0 0 3px rgba(240, 122, 160, .35);
}

.kh_form input[type="text"],
.kh_form textarea {
	display: block;
	width: 100%;
	margin-top: 12px;
	padding: 12px 14px;
	border: 1px solid var(--kt_line);
	border-radius: 8px;
	background: #fff;
	font-family: var(--kt_font);
	font-size: 16px;
	line-height: 1.7;
	color: var(--kt_txt);
}

.kh_form input[type="text"]:focus,
.kh_form textarea:focus {
	border-color: var(--kt_pink2);
	outline: none;
	box-shadow: 0 0 0 3px rgba(240, 122, 160, .25);
}

.kh_form textarea {
	resize: vertical;
}

.kh_check {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 14px;
	font-size: 15px;
	letter-spacing: .04em;
	cursor: pointer;
}

.kh_check input {
	width: 18px;
	height: 18px;
	accent-color: var(--kt_pink);
}

.kh_notes {
	margin-top: 10px;
	padding: 14px 18px;
	border-radius: 8px;
	background: #faf6f7;
	list-style: none;
}

.kh_notes li {
	position: relative;
	padding-left: 14px;
	font-size: 13px;
	line-height: 1.9;
	color: var(--kt_txt2);
}

.kh_notes li::before {
	content: '・';
	position: absolute;
	left: 0;
}

.kh_hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.kh_error {
	margin-top: 20px;
	padding: 10px 14px;
	border-radius: 8px;
	background: #fdeaea;
	font-size: 14px;
	line-height: 1.7;
	color: #c0392b;
}

.kh_submit {
	margin-top: 32px;
	text-align: center;
}

/* button 要素は地が灰色なので消す（角丸の画像の四隅に出る） */
.kh_btn {
	background: none;
	font-family: var(--kt_font);
	cursor: pointer;
}

.kh_btn:disabled {
	opacity: .6;
	cursor: default;
}

/* 運営会社（フォームの下）
----------------------------------------------------------- */
.kh_company {
	margin-top: 40px;
}

/* 送信後
----------------------------------------------------------- */
.kh_done {
	padding: 10px 0 0;
	text-align: center;
}

.kh_done_ttl {
	margin-bottom: 16px;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: .1em;
	color: var(--kt_pink);
}

.kh_done p + p {
	margin-top: 12px;
}

.kh_done p {
	font-size: 15px;
	line-height: 2;
}

.kh_done_back a {
	text-decoration: underline;
	text-underline-offset: 3px;
	color: var(--kt_pink);
}

@media screen and ( max-width:760px ) {
	.kh_page .kt_ttl {
		font-size: 21px;
		letter-spacing: .08em;
	}

	.kh_list li {
		font-size: 14px;
		line-height: 2;
	}

	.kh_form_wrap {
		margin-top: 40px;
		padding: 28px 18px 32px;
		border-radius: 12px;
	}

	.kh_form_ttl {
		font-size: 19px;
	}

	.kh_field {
		margin-top: 26px;
	}

	.kh_label {
		font-size: 15px;
	}

	.kh_choice span {
		min-width: 0;
		padding: 9px 16px;
		font-size: 14px;
	}

	.kh_btn {
		min-width: 0;
		width: 100%;
	}
}
