body {
	 -webkit-font-smoothing: antialiased;
}
.container {
	margin-top: 5rem;
}
label {
	margin-top: 0.5rem;
}
.row {
	align-items: center;
}
.send-btn {
	margin-top: 1rem;
	margin-bottom: 5rem;
}
.item-required {
	font-size: 12px;
	float: left;
	vertical-align: middle;
	margin: 4px 0.4rem 0 0;
}
.custom-control {
	margin-top: 0.4rem;
}
.input-other {
	margin-top: 0.5rem;
	font-size: 0.9rem;
}
.question-title {
	font-size: 1.1rem;
}
.date-select {
	padding-right: 0px;
	padding-left: 5px;
}
.date-input {
	padding: 0px 10px
}
.postal-code-invalid {
	display: none;
	margin-top: .25rem;
	font-size: 80%;
	color: #dc3545;
}
.scroll-view {
	width: 90%;
	height: 15rem;
	background-color: #fdfdfd;
	overflow-y: scroll;
}
.form-group {
	margin-bottom: 0rem;
}
.card-header {
	padding: 0.75rem;
}
.gift-img {
	width: auto;
}
@media screen and (max-width: 575.98px) {
	.search-street-address {
		margin-top: 1rem;
	}
}
@media screen and (max-width: 767.98px) {
	.title-label {
		font-weight: bold;
	}
}
@media screen and (max-width: 429.98px) {
	.input-padding {
		padding: 0 0.5rem;
	}
}
.custom-control-label {
	margin: 0rem;
}
.help-block {
	color: red;
}
.validation-message {
	font-size: 80%;
	color: red;
	margin-top: 3px;
	display: none;
}
.conditions-message {
	font-size: 80%;
	margin-top: 3px;
}
.btn-outline-primary:disabled {
	background-color: #cecece;
}
.invalid-feedback {
	margin-top: 0.4rem;
	color: red;
}
.terms-of-service-link {
	margin-bottom: 0.8rem;
	text-decoration: underline;
}
.purpose-of-use {
	margin-top: 2rem;
}
.gift-relation-message {
	font-size: 80%;
	margin-top: 3px;
	display: none;
}
.used-year-width {
	max-width: 80%;
}
.email-warning-note {
    padding-inline-start: 0px;
}

/* 送信ボタンが押されるまで、バリデーションメッセージとアイコンを隠す */
#campaign-form:not(.was-submitted) .help-block,
#campaign-form:not(.was-submitted) .form-control-feedback {
    display: none !important;
}

/* 送信前はエラーの枠線色（赤）を無効化し、通常の色に見せる */
#campaign-form:not(.was-submitted) .has-error .form-control {
    border-color: #ccc; /* 通常時の色に固定 */
    box-shadow: none;
}

#form-section hr.start-recaptcha {
    margin-bottom:3em;
    border-top:#004899 solid 3px
}

#campaign-form .list-group-item.is-invalid-parent {
    background-color: #fff2f2 !important; /* 薄い赤 */
    transition: background-color 0.2s ease;
}

.invalid-message-margin-top {
    margin-top: 0px !important;
}