@media (min-width: 960px) {
	.rvfptn-is-sticky {
		position: sticky;
		top: 120px;
		height: fit-content;
		align-self: flex-start;
	}
}

/* ====== jgs3v6zz =============== */
.jgs3v6zz {
  .__band {
		position: relative;
		z-index: -1;
		margin-top: -120px;
	}
}

/* ====== uq9pufxy =============== */
.uq9pufxy {
  .__item {
		position: relative;
	}
  .__itemWrapper {}
  .__stepNum {
		position: absolute;
		left: 0;
		top: 0;
	}
  .__itemTitle {
		margin-top: 1rem !important;
	}
  .__itemText {}
}

/* ====== voviqtiu =============== */
.voviqtiu {
  .__item {
		background: #ffffff1a;
		backdrop-filter: blur(6px);
	}
}

/* ====== flgnn58s =============== */
.flgnn58s {
	.__button {
		/* 変数 */
		--line_height: 1px; /* 下線の太さ */
		--line_color: var(--color_main); /* 下線の色 */
		--line_width: 1.2em; /* 下線の長さ調節（大きくするほど短くなる） */
		--transition_speed: 0.4s; /* 下線が出る速度 */

		.swell-block-button__link {
			border-radius: 0;
			border-width: 0;
			position: relative;
			text-decoration: none;
			background-color: transparent !important;
			padding-bottom: 6px;
		}
		.swell-block-button__link::after {
			content: '';
			position: absolute;
			left: var(--line_width);
			bottom: 0;
			width: 0;
			height: var(--line_height);
			background-color: var(--line_color); 
			transition: width var(--transition_speed) ease;
		}
		.swell-block-button__link:hover {
			color: var(--color_main) !important;
			&::after {
				width: calc(100% - var(--line_width) * 2 + 6px);
			}
			.__icon {
				transform: translateX(4px);
			}
		}
		.swell-block-button__link .__icon {
			transition: transform 0.2s ease;
		}
	}
}

/* ====== a3har5lo =============== */
.a3har5lo {
  &.__wrapper {
		border-radius: 16px;
		background: #ffffff1a !important;
		padding: 1.5rem 2rem;
		backdrop-filter: blur(6px);
	}
}

/* ====== z31vperu =============== */
.z31vperu {
  .__button {
		/* 変数 */
		--line_height: 1px; /* 下線の太さ */
		--line_color: var(--color_main); /* 下線の色 */
		--line_width: 1.2em; /* 下線の長さ調節（大きくするほど短くなる） */
		--transition_speed: 0.4s; /* 下線が出る速度 */

		.swell-block-button__link {
			border-radius: 0;
			border-width: 0;
			position: relative;
			text-decoration: none;
			background-color: transparent !important;
			padding-bottom: 6px;
		}
		.swell-block-button__link::after {
			content: '';
			position: absolute;
			left: var(--line_width);
			bottom: 0;
			width: 0;
			height: var(--line_height);
			background-color: var(--line_color); 
			transition: width var(--transition_speed) ease;
		}
		.swell-block-button__link:hover {
			span, svg {
				color: var(--color_main);
			}
			&::after {
				width: calc(100% - var(--line_width) * 2 + 6px);
			}
			.__icon {
				transform: translateX(4px);
			}
		}
		.swell-block-button__link .__icon {
			transition: transform 0.2s ease;
		}
	}
  .__icon {}
}

.__button.dolvczcf {
	/* 変数 */
	--line_color: var(--color_main); /* 文字色 */
	--line_height: 1px; /* 下線の太さ */
	--line_width: 1.2em; /* 下線の長さ調節（大きくするほど短くなる） */
	--transition_speed: 0.4s; /* 下線が出る速度 */

	.swell-block-button__link {
		border-radius: 0;
		border-width: 0;
		position: relative;
		text-decoration: none;
		background-color: transparent !important;
		padding-bottom: 6px;
		color: var(--line_color);
		svg {
			margin-top: -2.5px;
		}
	}
	.swell-block-button__link::after {
		content: '';
		position: absolute;
		left: var(--line_width);
		bottom: 0;
		width: 0;
		height: var(--line_height);
		background-color: var(--line_color); 
		transition: width var(--transition_speed) ease;
	}
	.swell-block-button__link:hover {
		span, svg {
			color: var(--line_color);
		}
		&::after {
			width: calc(100% - var(--line_width) * 2 + 6px);
		}
		.__icon {
			transform: translateX(4px);
		}
	}
	.swell-block-button__link .__icon {
		transition: transform 0.2s ease;
	}
}

/* ====== jqt33rv3 =============== */
.jqt33rv3 {
	&.__wrapper {
		background: #ffffff1a;
		backdrop-filter: blur(6px);
		padding: 16px 24px;
	}
}

/* ====== x51n46ig =============== */
.x51n46ig {
	--scale: 1;
	&.__column {
		.swell-block-column {
			transition: all .3s ease;
			&:hover {
				--scale: 1.04;
			}
		}
		figure {
			overflow: hidden;
		}
		img {
			transform: scale(var(--scale));
			transition: transform .3s ease;
		}
	}
}

/* ====== m7e2tdje =============== */
.m7e2tdje {
  .__contentWrapper {
		height: 100%;
	}
}



/* ====== xgre46gn =============== */
@media(min-width: 960px) {
	.xgre46gn {
		.__item {
			&.--content {
				.__contentWrapper {
					padding-right: calc(32px + 120px);
					padding-left: 56px
				}
				margin-right: -120px;
			}
		}
	}
}

/* ====== qmrqopeh =============== */
@media(min-width: 960px) {
	.qmrqopeh {
		.__item {
			&.--content {
				.__contentWrapper {
					padding-left: calc(32px + 120px);
					padding-right: 56px;
				}
				margin-left: -120px;
			}
		}
	}
}

.snow-monkey-form:has(.__rvf-smfWrapper) {
	.smf-item__col--label {
		padding-bottom: .25em;
	}
	.__checkWrapper,
	.__radioWrapper {
		input {
			padding: 0;
		}
	}
	.__selectWrapper {
		.smf-select-control,
		.smf-select-control__control {
			width: 100%;
		}
	}

	/* ====== フォーム送信ボタン ================ */
	/* 1. 送信ボタン（確認画面へ・送信する） */
	.smf-button-control__control[type="submit"] {
		background: var(--color_main) !important;

		color: #fff !important;
		border-radius: 80px;
		padding: 12px 48px;
		border: none !important;
		font-weight: bold;
		cursor: pointer;
		transition: opacity 0.3s, transform 0.2s;
		letter-spacing: .2em;
		text-indent: .2em;

		/* サイズ感調整 */
		width: 100%;
		max-width: 300px;
		display: block;
		margin: 0 auto;
	}

	/* 送信ボタンのホバー時 */
	.smf-button-control__control[type="submit"]:hover {
		opacity: 0.85;
		transform: translateY(-2px);
	}

	/* 2. 戻るボタン（背景透明・枠線あり） */
	.smf-button-control__control[data-action="back"] {
		background: transparent !important;
		color: #555 !important;
		border: 1px solid #ccc !important;
		box-shadow: none !important;
	}

	/* 戻るボタンのホバー時 */
	.smf-button-control__control[data-action="back"]:hover {
		background: #f5f5f5 !important;
	}


	/* =========================== */
	/* 親要素（カード全体）のスタイル */
	.u-card-link {
		position: relative;
		transition: transform 0.2s ease, box-shadow 0.2s ease;
		cursor: pointer;
	}

	/* ホバー時の演出（お好みで） */
	.u-card-link:hover {
		transform: translateY(-4px);
		box-shadow: 0 10px 20px rgba(0,0,0,0.1);
	}

	/* クラスをつけたブロックの「中にあるリンク(aタグ)」を拡張する */
	.u-stretched-link a::after { 
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 1;
		pointer-events: auto; /* 明示的にクリックを受け付ける */
	}
	/* =========================== */



	/* 同意エリアを強調するデザイン例 */
	.div_radio {
		background: white;
		padding: 15px;
		border: 1px solid #ddd;
		border-radius: 5px;
		margin-top: 20px;
		margin-top: .3em !important;
	}

	.button_div {
		text-align: center !important;
		transition: opacity 0.3s, transform 0.2s;
		.buttons {
			background: var(--color_main) !important;

			color: #fff !important;
			border-radius: 80px;
			padding: 10px 24px;
			border: none !important;
			font-weight: bold;
			cursor: pointer;
			transition: opacity 0.3s, transform 0.2s;
			letter-spacing: .5em;
			text-indent: .5em;
			&:hover {
				opacity: 0.85;
				transform: translateY(-2px);
			}
		}
	}
}
