body {
	@media (max-width: 959px){
	}
	@media (max-width: 599px){
	}
	.public-title {
		background-color: #9ba2d9;
		margin:0 auto 40px;
		padding: 50px 0;
		.public-title-text {
			color: white;
			margin:0 auto;
			width: 960px;
			max-width: 100%;
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			justify-content: center;
		}
	}

	.form-error {
		ul {
			display: flex;
			flex-wrap: wrap;
			align-items: flex-start;
			justify-content: flex-start;
			gap: 0 20px;
			margin:0;
			li {
				list-style: none;
				color: red;
			}
		}
	}


	.entryFormBox {
		.entryForm {
			width: 100%;
			margin: 0;
		}
		table.form-table {
			width: 100%;
			border:solid 1px #ccc;
			border-collapse: collapse;
			border-spacing: 0;
			caption {
				color: white;
				background-color: #999;
				text-align: center;
				padding: 15px;
				margin-bottom: 20px;
				font-size: 140%;
				span.required-mark {
					color: #ff4d4d;
				}
				@media (max-width: 959px){
					text-align: left;
				}
			}
			tr {
				@media (max-width: 959px){
					display: flex;
					flex-wrap: wrap;
					align-items: flex-start;
					justify-content: flex-start;
					flex-direction: column;
				}
				th, td {
					border-bottom: 1px solid #ccc;
					padding: 12px 15px;
					vertical-align: middle;
				}
				th {
					width: 30%;
					font-size: 120%;
					font-weight: normal;
					background-color: #eeeeee;
					.required-label {color: red;}
					.sub-label {font-size: 70%;}
					@media (max-width: 959px){
						text-align: left;
						width: 100%;
						br {
							display: none;
						}
					}
					>div {
						display: flex;
						align-items: center;
						justify-content: center;
						position: relative;
					}
					span.hissu {
						background-color: red;
						font-size: 60%;
						font-weight: normal;
						color:white;
						padding: 2px 10px;
						border-radius: 5px;
						line-height: initial;
						position: absolute;
						right: 0;
					}
				}
				td {
					width: 70%;
					@media (max-width: 959px){
						width: 100%;
					}
					background-color: #fff;

					/* 入力要素のスタイリング */
					input[type="text"], input[type="number"], input[type="tel"], input[type="email"], select, textarea {
						padding: 5px 10px;
						border: 1px solid #ccc;
						border-radius: 6px;
						box-sizing: border-box;
						font-size: 16px;
						line-height: 200%;
					}
					input[type="text"], input[type="tel"], input[type="email"] {
						width: 100%;
					}
					input::-webkit-outer-spin-button,
					input::-webkit-inner-spin-button {
						-webkit-appearance: none;
						margin: 0;
					}
					input[type=number] {
						-moz-appearance: textfield;
					}
					input[type="text"]::placeholder, textarea::placeholder {
						color: #bbb;
					}

					.checkbox-group {
						display: flex;
						flex-wrap: wrap;
						align-items: stretch;
						justify-content: stretch;
						flex-direction: column;
						gap:0 20px;
						padding-bottom: 15px;
						input[type=checkbox] {
							width: 16px;
							height: 16px;
							margin-right: 10px;
						}
					}

					.radio-group {
						display: flex;
						gap: 15px;
						label {
							display: flex;
							align-items: center;
							gap: 5px;
							cursor: pointer;
						}
					}
					.age-input-container {
						display: flex;
						align-items: center;
						gap: 10px;
						input {
							width: 80px;
						}
					}
					.zip-input-container {
						display: flex;
						align-items: center;
						gap: 10px;
						input {
							width: 80px;
							&:last-child {
								width: 120px;
							}
						}
					}
					.address-container {
						display: flex;
						flex-direction: column;
						gap: 10px;
						select {
							width: 180px;
						}
					}
					.comment-textarea {
						height: 150px;
						resize: vertical;
					}
				}
				.form-agree {
					background-color: #eeeeee;
					border:solid 1px @gray;
					padding: 10px;
					display: flex;
					flex-wrap: wrap;
					align-items: center;
					justify-content: center;
					input {
						width: 16px;
						height: 16px;
						margin-right: 10px;
					}
				}

			}
		}

		.thanks {
			padding: 50px 0;
			text-align: center;
			font-size: 140%;
		}
	}


	.btnBox,.sendButton {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 10px;
		width: 100%;
		max-width: 100% !important;
		margin: 0 auto 40px!important;

		a,input {
			display: block;
			background-color: #1c4fa1;
			padding: 10px;
			width: 100%;
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			justify-content: center;
			cursor:pointer;
			line-height: initial;
			border-radius: 10px;
			margin: 0 !important;
			color: white;
			span {
				line-height: initial;
			}
			&.external-link {
				.mixin-external-link-white;
				text-decoration: none;
				background-position: top 50% right 10px;
			}
			&:not(.external-link) {
				text-decoration: none;
				position: relative;
				&:after {
					content:"▶︎";
					position: absolute;
					top: 50%;
					right: 10px;
					z-index: 1;
					transform: translate(0,-50%);
				}
			}
			background-color: #1c4fa1 !important;
		}

		.submit {
			position: relative;
			input {
				display: block;
				background-color: #1c4fa1 !important;
				padding: 10px;
				width: 100%;
				min-width: 300px;
				display: flex;
				flex-wrap: wrap;
				align-items: center;
				justify-content: center;
				cursor:pointer;
				line-height: initial;
				border-radius: 10px;
				font-size: 140%;
			}
			&:after {
				content:"▶︎";
				position: absolute;
				top: 50%;
				right: 10px;
				z-index: 1;
				transform: translate(0,-50%);
				color: white;
				font-size: 80%;
			}

		}
	}

	.mynavi {
		display:flex;
		justify-content: center;
		margin-bottom: 30px;
		a {
			width: 200px;
			max-width: 100%;
		}
	}

}