	.modal {
		display: none;
		position: fixed;
		z-index: 9999;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, 0.6);
		justify-content: center;
		align-items: center;
		box-sizing: border-box;
	}

	.modal * {
		box-sizing: border-box;
	}

	.modal__content {
		background: #fff;
		max-width: 800px;
		width: 90%;
		padding: 2em;
		position: relative;
		max-height: 90%;
		overflow-y: auto;
		border-radius: 8px;
	}

	.modal__close {
		position: fixed;
		top: 70px;
		right: 14vw;
		background: none;
		border: none;
		font-size: 4em;
		cursor: pointer;
		line-height: .5;
		z-index: 5;
		color: #fff;
		text-shadow: 0 0 20px #383838;
	}

	.modal__images img {
		width: 100%;
		margin-bottom: 1em;
	}

	.modal__inquiry {
		text-align: center;
		padding: 4rem;
	}

	.modal__inquiry p {
		width: 100%;
		font-size: 18px;
		line-height: 2;
		text-align: center;
		margin-bottom: 20px;
		font-weight: bold;
		letter-spacing: .075em;
	}

	.modal__inquiry button {
		background: #66bf97;
		padding: 20px 80px;
		border-radius: 40px;
		font-size: 20px;
		font-weight: bold;
		color: #fff;
		margin: 0 auto;
		display: block;
		width: fit-content;
		border: 2px solid #66bf97;
		cursor: pointer;
	}

	.modal-trigger {
		cursor: pointer;
		text-align: center;
		width: 600px;
		margin: 0 auto 80px;
		display: none;
	}

	.modal-trigger__text {
		margin-bottom: 1em;
		font-size: 1.563rem;
	}

	.modal-trigger__image {
		width: 100%;
		display: block;
		box-shadow: 5px 5px 16px 3px #d2d2d2;
	}

	.modal-trigger__button {
		margin-top: 3rem;
		padding: 1em;
		background-color: #878eaf;
		color: #fff;
		border: none;
		font-size: 1.25rem;
		cursor: pointer;
		width: 90%;
		letter-spacing: .075em;
		font-weight: 500;
	}


	.modal-trigger__button:hover,
	.modal-trigger__image:hover,
	.modal__inquiry button:hover {
		opacity: .8;
		color: #fff;
	}

	@media screen and (max-width: 599px) {
		.modal-trigger {
			width: 80%;
			margin: 5.33vw auto 16vw;
		}

		.modal-trigger__text {
			font-size: 3.73vw;
			/* text-align: justify; */
			text-align-last: justify;
		}

		.modal-trigger__button {
			padding: .5em;
		}

		.modal__inquiry {
			padding: 2em 0;
		}

		.modal__text {
			font-size: 0.875rem;
			margin-bottom: 1em;
		}

		.modal__close {
			top: 13.33vw;
			right: 8vw;
		}

		.modal__inquiry p {
			text-align: left;
			line-height: 1.5;
			letter-spacing: 0;
		}

		.modal__inquiry button {
			font-size: 4.8vw;
			padding: 1em;
			width: 100%;
		}

	}


	/* 成功メッセージ */
	.request-success {
		display: inline-flex;
		align-items: center;
		gap: 0.4em;
		font-size: 1.25rem;
		font-weight: bold;
		letter-spacing: .1em;
	}

	.request-success p {}

	.check-icon {
		width: 1.5em;
		height: auto;
	}

	.check-path {
		stroke: #66bf97;
	}

	.is-hidden {
		display: none;
	}


	/* エラーメッセージ */
	.error-modal {
		display: none;
		position: fixed;
		top: 30%;
		left: 50%;
		transform: translateX(-50%);
		background: #fff;
		padding: 20px;
		border: 1px solid #ccc;
		z-index: 9999;
		font-size: 1.125rem;
		line-height: 3;
		text-align: center;
	}

	.error-modal a {
		text-decoration: underline;
		color: rgb(21, 159, 239);
		font-weight: bold;
	}

	@media screen and (max-width: 599px) {
		.error-modal {
			width: 80%;
		}
	}