@charset "utf=8";

/* ==========================================
テーブル
========================================== */

.table {
	max-width: 122rem;
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	margin: auto;
}

.table th,
.table td {
	padding: 1.5rem !important;
	border: 0.1rem solid !important;
	text-align: left;
}

.table a {
	text-decoration: underline;
}

.table a:hover {
	text-decoration: none;
}

.table-primary {
	background: var(--secondary-extra-light);
}

.table-primary th,
.table-primary td {
	border-color: #E6E6E6 !important;
}

.table-primary th,
.table-primary td:first-child {
	background-color: var(--primary);
	color: var(--white);
	vertical-align: middle;
	font-weight: bold;
	width: 25%;
}

/* ==========================================
フォーム
========================================== */

.form-area {
	max-width: 122rem;
	width: 100%;
	margin: 1rem auto 0;
}

.required-text {
	font-size: 1.2rem;
	font-weight: 500;
	padding: 0.2rem 0.5rem 0.3rem;
	background: #333;
	color: #fff;
	margin: 0 0 0 0.5rem;
}

.required-text-primary {
	background: var(--tertiary);
	color: var(--secondary-extra-light);
}

.form-input {
	border: 0;
	border-radius: 0.2rem;
	background: #E6E6E6;
	box-shadow: inset 0 2px 4px rgb(0 0 0 / 5%);
	padding: 0.5rem 1rem;
}

.form-select {
	padding: 0.5rem 1rem;
}

.form-textarea {
	height: 10rem;
	border: 0;
	border-radius: 0.2rem;
	background: #E6E6E6;
	box-shadow: inset 0 2px 4px rgb(0 0 0 / 5%);
	padding: 0.5rem 1rem;
}

.form-notes-text {
	text-indent: -1.6rem;
	padding-left: 1.6rem;
}

.input-large {
	width: 100%;
}

.input-medium {
	width: 40rem;
}

.input-small {
	width: 20rem;
}

.input-file {
	border: 0;
	width: 100%;
	line-height: 1.5em;
}

.textarea-large {
	width: 100%;
}

.form-send-btn {
	text-align: center;
	margin: 5rem auto 0;
	transition: 0.3s;
}

.form-send-btn {
	width: 100%;
	max-width: 25rem;
	aspect-ratio: 250/64;
	line-height: 1.45;
	letter-spacing: 0.1em;
	font-weight: 600;
	position: relative;
}

.form-send-btn input {
	background: var(--secondary);
	color: var(--white);
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	box-shadow: 0 .2rem .8rem rgba(0, 0, 0, 0.1);
	transition: all .3s;
}

.form-send-btn::before {
	content: "";
	background: url(../../../../uploads/arrow_white.svg)no-repeat center /contain;
	position: absolute;
	z-index: 1;
	right: 3rem;
	top: 0;
	bottom: 0;
	margin: auto 0;
	display: block;
	width: 1.163rem;
	aspect-ratio: 11.63/9.69;
	transition: all .3s;
}

.form-send-btn input:hover {
	background: var(--white);
	color: var(--secondary);
}

.form-send-btn:hover::before {
	background: url(../../../../uploads/arrow_blue.svg)no-repeat center /contain;
}

.form-send-btn .wpcf7-spinner {
	position: absolute;
	right: -3rem;
	top: 50%;
	transform: translateY(-50%);
}

.birth-age-wrap {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	flex-wrap: wrap;
}

.form-input-year {
	width: 8rem;
}

.form-input-month,
.form-input-day {
	width: 5rem;
}

.form-input-age {
	width: 5rem;
}

.form-note {
	font-size: 0.875em;
	line-height: 1.42em;
	letter-spacing: 0;
	margin: 6rem 0 0;
}

/* ==========================================
Contact Form 7の場合（20250701追記）
========================================== */

/*ラジオのmargin*/

.wpcf7-list-item {
	margin: 0 1rem 0 0 !important;
}

/*送信失敗*/

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	border-color: #dc3232 !important;
	text-align: center;
}

.wpcf7-form.invalid .wpcf7-response-output {
	color: #dc3232 !important;
}

/*送信成功*/

.wpcf7-response-output {
	text-align: center;
}


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <=768px) {

	/* ==========================================
	テーブル
	========================================== */

	.table,
	.table tbody,
	.table tr,
	.table th,
	.table td {
		display: block;
		width: 100% !important;
	}

	.table th,
	.table td {
		border-bottom: 0 !important;
	}

	.table tr:last-child td:last-child {
		border-bottom: solid 0.1rem !important;
	}

	/* ==========================================
	フォーム
	========================================== */

	.form-send-btn {
		margin: 3rem auto 0;
	}

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <=576px) {

	/* ==========================================
	フォーム
	========================================== */

	.input-medium {
		width: 28.57rem;
	}

	.input-small {
		width: 14.28rem;
	}

	.form-input-year {
		width: 7rem;
	}

	.form-input-month,
	.form-input-day {
		width: 4rem;
	}

	.form-input-age {
		width: 4rem;
	}

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */