.hero-cutpic {
	position: absolute;
}

.fs-1p2rem {
	font-size: 1.2rem;
}

.contact-form-box {
	background: var(--site-lightblue);
	border: 1px solid #dde3f0;
}
.contact-form-box-inner {
	background: #fff;
	border: 1px solid #000;
}

.bg-form-required {
	background-color: #e0483d;
	color: #fff;
	font-size: .7rem;
	line-height: 1;
	padding: 4px 8px;
	border-radius: 4px;
	white-space: nowrap;
}

.contact-form-box .form-label,
.contact-form-box .form-check-label {
	color: var(--main-navy);
}

.contact-form-box .form-control,
.contact-form-box textarea.form-control {
	border: 1px solid #c9d2e3;
	border-radius: 6px;
	background: #fff;
}

.contact-form-box .form-control:focus {
	border-color: var(--main-blue);
	box-shadow: 0 0 0 .2rem rgba(26, 90, 194, .15);
}

.contact-form-box .form-check-input:checked {
	background-color: var(--main-blue);
	border-color: var(--main-blue);
}

.contact-form-box ::placeholder {
	color: #b3b3b3;
	opacity: 0.7;
}

.contact-form-box dd {
	overflow-wrap: break-word;
	word-break: break-word;
}

#kojinjouhouCheck {
	border: 1px solid #c9d2e3;
	padding: 12px;
}

@media (min-width: 1200px) {
	footer .container-fluid.border-top.border-main-navy {
		display: none;
	}
}

@media (min-width: 992px) {
	.contact-form-box .contact-input-name {
		max-width: 260px;
		flex: 1 1 200px;
	}
}

@media (max-width: 768px) {
	.hero-wrapper {
		top: 115px;
		left: 16px;
	}
}

/* ---- 送信・確認ボタン ---- */
.link-button {
	border: none;
}
.link-button:disabled {
	background-color: #ccc;
	color: #fff;
	opacity: .6;
	box-shadow: none;
	cursor: not-allowed;
}
.link-button:disabled::before {
	display: none;
}

.contact-arrow {
	display: inline-block;
	width: 24px;
	height: 7px;
	background-color: currentColor;
	-webkit-mask: url("/common/img/icon_arrow.svg") center / contain no-repeat;
	mask: url("/common/img/icon_arrow.svg") center / contain no-repeat;
	transition: transform .3s ease;
}

.link-button:hover .contact-arrow {
	transform: translateX(5px);
}
.link-button-secondary:hover .contact-arrow-back {
	transform: translateX(-5px) rotate(180deg);
}

/* ---- 確認ページ ---- */
.contact-confirm-row {
	border-bottom: 1px solid #e5e9f2;
}

.contact-confirm-row dt {
	color: #6b7385;
	font-size: .85rem;
	font-weight: 700;
}

.contact-confirm-row dd {
	white-space: pre-wrap;
	word-break: break-all;
}

/* ---- サンクスページ ---- */
.to-top-arrow {
	display: inline-block;
	width: 24px;
	height: 7px;
	background-color: currentColor;
	-webkit-mask: url("/common/img/icon_arrow.svg") center / contain no-repeat;
	mask: url("/common/img/icon_arrow.svg") center / contain no-repeat;
	transition: transform .3s ease;
}

.link-button-secondary:hover .to-top-arrow {
	transform: translateX(5px);
}