.entry #breadcrumb .breadcrumbs {
	margin-top: 0;
}

.entry_mv {
	position: relative;
	display: flex;
	gap: 7px;
	flex-direction: column;
	align-items: center;
	background-color: #007741;
	width: 100%;
	height: 400px;
}
.entry_mv::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
	background: linear-gradient(to top, transparent 60%, #000 100%);
	opacity: 0.3;
}
@media screen and (max-width: 1024px) {
	.entry_mv {
		height: 350px;
	}
}
.entry_mv .entry_heading {
	font-size: clamp(25px, 3.5vw, 56px);
	font-weight: 700;
	color: #fff;
	padding-top: 180px;
	white-space: nowrap;
}
.entry_mv .entry_heading_en {
	font-size: 21px;
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.1em;
}

form {
	max-width: 1160px;
	width: 85%;
	margin: 0 auto 84px;
	background-color: #fff;
	margin-top: 48px;
	padding: 60px 80px;
}

form input,
form textarea,
form select {
	outline: none;
	font-size: 15px;
	font-family: "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 768px) {
	form input,
	form textarea,
	form select {
		font-size: 16px;
	}
	form input::placeholder,
	form textarea::placeholder {
		font-size: 14px;
	}
	form input[type="file"] {
		font-size: 14px;
	}
}

.form_item {
	display: flex;
}

/* head_box */
.form_item:first-child .head_box {
	border-top: 1px solid #b9b9b9;
}

.form_item .head_box {
	width: 40%;
	border-bottom: 1px solid #b9b9b9;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding-inline: 8px;
}

.form_item .head_box .head {
	font-size: 15px;
	white-space: nowrap;
	padding-block: 15px;
}
.form_item .head_box .link {
	width: 100%;
	margin-bottom: 10px;
}
.form_item .head_box .link a {
	color: #204097;
	text-decoration: none;
}

@media screen and (max-width: 768px) {
	.form_item .head_box .head {
		font-size: 16px;
	}
}

/* 必須 */
.form_item .head_box p.must {
	padding: 6px 10px;
	margin-left: 10px;
	white-space: nowrap;
	font-size: calc(12px + 2 * (100vw - 320px) / 1046);
	color: #ff0000;
	font-size: 15px;
	font-weight: 500;
}

/* エラー文 */
.form_item .element_box p.errors {
	color: #dc0000;
	margin-top: 5px;
}

/* element_box */
.form_item:first-child .element_box {
	border-top: 1px solid #b9b9b9;
}

.element_box {
	width: 60%;
	border-bottom: 1px solid #b9b9b9;
	border-left: unset;
	border-right: unset;
	padding: 15px 21px;
}

.input_wrap {
	width: 100%;
}
.double_text_input_wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.cf-turnstile {
  margin: 20px 0 auto;
  text-align: center;
}
#submitBtn:disabled{
  opacity: 0.5;
  cursor: not-allowed;
}

/* submitボタン */
.submit_btn_wrapper {
	position: relative;
	z-index: 0;
	width: 396px;
	margin: 0 auto;
	background-color: #007741;
	border-radius: 10px;
	transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
	.submit_btn_wrapper {
		width: 290px;
	}
}

.submit_btn_wrapper:hover {
	background-color: transparent;
}

.submit_btn_wrapper:hover:before {
	position: absolute;
	content: "";
	z-index: -2;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #007741;
	border-radius: 10px;
}
.submit_btn_wrapper:hover:after {
	position: absolute;
	content: "";
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.6);
	border-radius: 10px;
}

.submit_btn_wrapper .arrow {
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	right: 72px;
	width: 13px;
	height: 21px;
}

@media screen and (max-width: 768px) {
	.submit_btn_wrapper .arrow {
		right: 15px;
	}
}

.submit_btn {
	padding-right: 40px;
	border-radius: 10px;
	background-color: transparent;
	width: 100%;
	height: 90px;
	text-align: center;
	display: block;
	margin: auto;
	margin-top: 60px;
	cursor: pointer;
	transition: all 0.5s;
	color: #fff;
	font-size: 23px;
	font-weight: 700;
}
@media screen and (max-width: 768px) {
	.submit_btn {
		margin-top: 60px;
		padding: 12px;
		height: 70px;
		font-size: 20px;
	}
}

.submit_btn_wrapper:hover .submit_btn {
	color: #007741;
}
.submit_btn_wrapper:hover .arrow svg path {
	fill: #007741;
}

/* テキストボックス用スタイル */
.input_item.text {
	width: 100%;
	padding: 15px;
	background-color: #eee;
	box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.25);
}

.input_item.half {
	width: 48%;
}
/* テキストエリア用スタイル */
.input_item.textarea {
	width: 100%;
	padding: 15px;
	background-color: #eee;
	box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.25);
	height: 20vw;
	max-height: 270px;
	min-height: 160px;
}

.input_item.select {
	min-width: 317px;
	padding: 15px;
	background-color: #eee;
	box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.25);
	cursor: pointer;
}

@media screen and (max-width: 1024px) {
	.input_item.select {
		min-width: 100%;
	}
}

.form_item:first-child .element_box .input_wrap .contact_form_input {
	position: relative;
}
.form_item:first-child .element_box .input_wrap .contact_form_input::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 280px;
	transform: translateY(-50%);
	width: 20px;
	height: 8px;
	background-image: url(../../../../src/img/select_arrow.svg);
	background-size: contain;
	background-repeat: no-repeat;
}

@media screen and (max-width: 1024px) {
	.form_item:first-child .element_box .input_wrap .contact_form_input::after {
		left: unset;
		right: 20px;
	}
}

.radio_wrapper {
	margin-left: 5px;
}

.radio_wrapper .radio_label:not(:last-child) {
	margin-right: 47px;
}
.radio_wrapper .radio_label .radio_span {
	cursor: pointer;
	font-weight: 400;
}

.input_item.radio {
	appearance: auto;
	accent-color: #007741;
	transform: scale(1.5);
	margin-right: 10px;
	cursor: pointer;
}

.checkbox_wrapper .checkbox_label {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
}

.input_item.checkbox {
	width: 33px;
	height: 34px;
	background-color: #eee;
	position: relative;
	box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.25);
	cursor: pointer;
}

.input_item.checkbox:checked::before {
	position: absolute;
	top: 50%;
	left: 23%;
	transform: rotate(40deg) translate(-50%, -50%);
	width: 10px;
	height: 16px;
	border-right: 3px solid #007741;
	border-bottom: 3px solid #007741;
	content: "";
	cursor: pointer;
}

.input_item.file {
	cursor: pointer;
	background-color: #eee;
	width: 100%;
	padding: 12px 19px 10px;
}

.form_treat {
	width: 100%;
	height: 52px;
	background-color: #007741;
}

/* ====================================================================================================== */
/* レスポンシブ */
/* ====================================================================================================== */
@media screen and (max-width: 1024px) {
	form {
		width: 90%;
		padding-top: 60px;
		padding-bottom: 80px;
	}
}

@media screen and (max-width: 1024px) {
	form {
		padding: 40px 60px;
	}
}

@media screen and (max-width: 768px) {
	form {
		padding: 30px 50px 50px;
	}
	.form_item {
		flex-direction: column;
	}

	.form_item:not(:first-child) {
		margin-top: 30px;
	}

	.head_box {
		width: 100%;
		padding: 15px 0px;
	}

	.form_item:first-child .head_box {
		border-top: unset;
	}

	.form_item:first-child .element_box {
		border-top: unset;
	}

	.element_box {
		width: 100%;
		padding: 20px 0px;
	}

	.input_item.text {
		padding: 12px;
	}
}

@media screen and (max-width: 480px) {
	form {
		padding: 20px 15px 40px;
	}
	.submit_btn {
		margin-top: 40px;
	}
}
