main {
  background-color: #FFFFFF;
}
.contact {
	padding-block: 11.375rem 7.5rem;
	max-width: 39.5rem;
	margin-inline: auto;
	* {
		color: var(--black);
	}

	.header {
		margin-block-end: 4rem;

		h5 {
			display: flex;
			align-items: center;
			gap: 0.75rem;

			&::before {
				content: "";
				display: inline-block;
				height: 0.5px;
				width: 1.5rem;
				background-color: var(--black);
			}
		}

		h1 {
			font-size: 6.25rem;
			font-weight: 700;
			color: #525f56;
		}
	}
  

	.content {
		& > p {
			margin-block-end: 4rem;
		}

		form {
			display: flex;
			flex-direction: column;
			gap: 3rem;

			.form-group {
				div {
					display: flex;
					gap: 0.75rem;
					margin-block-end: 0.5rem;

					span {
						padding-block: 0.125rem;
						padding-inline: 0.5rem;
						border-radius: 1.0625rem;
						font-size: 0.75rem;
						color: var(--white);
						background-color: #7bac66;

						&.optional {
							background-color: #838383;
						}
					}

					label {
						font-weight: bold;
						color: var(--black);
					}
				}

				input {
					display: block;
					width: 100%;
					height: 3rem;
					border: 1px solid #838383;
					border-radius: 0.5rem;
					padding-inline: 0.75rem;
          background-color: #ffff;

					&::placeholder {
						color: #838383;
					}
				}

				textarea {
					width: 100%;
					padding: 0.75rem;
					border-radius: 0.5rem;
					resize: none;
          background-color: #ffff;
				}

				input[type="number"]::-webkit-outer-spin-button,
				input[type="number"]::-webkit-inner-spin-button {
					-webkit-appearance: none;
					margin: 0;
				}
				input[type="number"] {
					-moz-appearance: textfield;
				}

				.error-message {
					color: #890202;
					margin-block-start: 0.5rem;
					display: none;
				}

				&.error {
					input,
					textarea {
						border: 1px solid red;
						outline: none;
					}

					.error-message {
						display: block;
					}
				}
			}

			.notice {
				border: 1px solid #838383;
				padding: 2rem;

				p:first-of-type {
					margin-block-end: 1rem;
				}
			}

			.actions-container {
				display: flex;
				align-items: center;
				flex-direction: column;
				gap: 1rem;

				div:nth-of-type(2) {
					background-image: linear-gradient(to right, #fff 75%, #dddddd 75%);
					width: 16.375rem;
					height: 3.875rem;
					border: 1px solid var(--black);
					font-size: 0.75rem;

					div {
						height: 100%;
						display: flex;
						flex-direction: column;
						justify-content: space-between;
						padding: 0.5rem;
					}
				}

				.custom-checkbox {
					appearance: none;
					-webkit-appearance: none;
					width: 1.125rem;
					height: 1.125rem;
					background-color: white;
					border: 3px solid #838383;
					border-radius: 3px;
					cursor: pointer;
					display: inline-block;
					position: relative;
					translate: 0 5px;
					margin-inline-end: 0.25rem;
				}
				.custom-checkbox:checked {
					background-color: #838383;
					border-color: #838383;
				}

				.custom-checkbox:checked::after {
					content: "";
					position: absolute;
					top: 1px;
					left: 4px;
					width: 5px;
					height: 10px;
					border: solid white;
					border-width: 0 2px 2px 0;
					transform: rotate(45deg);
				}

				input[type="submit"] {
					display: block;
					width: 100%;
					height: 3.625rem;
					color: #838383;
					background-color: #dddddd;
					border: none;
					border-radius: 2.25rem;
					pointer-events: none;
				}

				&:has(input[type="checkbox"]:checked) {
					input[type="submit"] {
						color: var(--white);
						background-color: #1e2f23;
						cursor: pointer;
						pointer-events: auto;
					}
				}
			}

			.modal-trigger {
				cursor: pointer;
				border-bottom: 1px solid #0585cc;
				color: #0585cc;
			}
		}
	}
}

.modal-container {
	justify-content: center;
	align-items: center;
	position: fixed;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
	z-index: 20;
	display: none;

	* {
		color: var(--black);
	}

	&.active {
		display: flex;
	}

	.policy {
		max-width: 50%;
		display: flex;
		flex-direction: column;
		align-items: center;
		background-color: var(--white);
		color: var(--white);
		padding-inline: 2rem;
		padding-block: 1rem;
		z-index: 3;

		h5 {
			font-size: 1.125rem;
			text-align: center;
			margin-block: 1rem 2rem;
		}

		div {
			margin-block-end: 3rem;

			ol {
				padding-inline-start: 1.125rem;

				ul {
					padding-inline-start: 1.125rem;
					list-style-type: disc;

					li::marker {
						color: var(--black);
					}

					span {
						margin-inline-start: -1.5rem;
					}
				}
			}
		}

		a {
			background-color: #1e2f23;
			color: var(--white);
			padding-block: 1rem;
			padding-inline: 2rem;
			border-radius: 2.25rem;
			cursor: pointer;
		}
	}
}

.sp-heading{
  a {
    color: #222222;
  }
  .hamburger-menu {
    &.is-checked {
      .hamburger-line {
        background-color: #ffff;
      }
    }
  }
  .hamburger-line {
    background-color: #222222;
  }
}



@media screen and (max-width: 1020px) {
  .policy {
    max-width: calc(100% - 10px * 2)!important;
    height: 96%;
    font-size: 14px;
  }
  .signup {
    padding-inline: 38%!important;
  }
  .header {
    h1 {
      font-size: 48px!important;
    }
  }
}

