@charset "UTF-8";
#page_head {
		padding-inline: 20px;
		-webkit-margin-before: 140px;
		        margin-block-start: 140px;
}
@media screen and (min-width: 425px) {
		#page_head {
				padding-inline: 30px;
		}
}
@media screen and (min-width: 768px) {
		#page_head {
				padding-inline: 40px;
		}
}
@media screen and (min-width: 992px) {
		#page_head {
				padding-inline: 70px min(100vw - 435px, 250px);
		}
}
@media screen and (min-width: 1300px) {
		#page_head {
				padding-inline: 70px;
		}
}
@media screen and (min-width: 992px) {
		#page_head {
				-webkit-margin-before: 160px;
				        margin-block-start: 160px;
		}
}

.page_title {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		gap: 10px 10px;
		-webkit-box-align: baseline;
		    -ms-flex-align: baseline;
		        align-items: baseline;
		-webkit-padding-after: 15px;
		        padding-block-end: 15px;
		border-bottom: solid 1px #222222;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
}
@media screen and (min-width: 992px) {
		.page_title {
				gap: 20px;
		}
}

.page_title_ja {
		font-size: 3.5rem;
		line-height: 1.3;
		font-weight: 500;
}
@media screen and (min-width: 768px) {
		.page_title_ja {
				font-size: 4.5rem;
		}
}
@media screen and (min-width: 992px) {
		.page_title_ja {
				font-size: 5rem;
		}
}

.page_title_en {
		font-size: 1.6rem;
		line-height: 1.5;
}

.section_title {
		position: relative;
		font-size: 2.5rem;
		font-weight: 500;
		line-height: 1.5;
		-webkit-padding-start: 20px;
		        padding-inline-start: 20px;
		-webkit-padding-after: 15px;
		        padding-block-end: 15px;
		border-bottom: solid 1px #DBD9CD;
}
@media screen and (min-width: 992px) {
		.section_title {
				font-size: 3rem;
		}
}
.section_title::before {
		content: "";
		position: absolute;
		top: 0.8em;
		left: 0;
		translate: 0 -50%;
		width: 10px;
		height: 8px;
		background-color: #008C64;
		border-radius: 0 100vmax 100vmax 0;
}

.contact_head_text {
		font-size: 1.6rem;
		line-height: 1.8;
		-webkit-margin-before: 60px;
		        margin-block-start: 60px;
}

#contact_form {
		-webkit-margin-before: 80px;
		        margin-block-start: 80px;
		-webkit-padding-after: 80px;
		        padding-block-end: 80px;
		padding-inline: 20px;
}
@media screen and (min-width: 425px) {
		#contact_form {
				padding-inline: 30px;
		}
}
@media screen and (min-width: 768px) {
		#contact_form {
				padding-inline: 40px;
		}
}
@media screen and (min-width: 992px) {
		#contact_form {
				padding-inline: 60px;
		}
}
#contact_form .form_wrap {
		-webkit-margin-before: 30px;
		        margin-block-start: 30px;
}
#contact_form form {
		width: 100%;
}
#contact_form .mktoForm {
		max-width: 100%;
		width: 100% !important;
}
#contact_form .mktoForm:has(input[name=BA_personalinformation]:checked) .mktoButton {
		pointer-events: auto;
		background-color: #222222;
		border-color: #222222;
}
@media (hover: hover) and (pointer: fine) {
		#contact_form .mktoForm:has(input[name=BA_personalinformation]:checked) .mktoButton:hover {
				background-color: #ffffff;
				color: #222222 !important;
		}
		#contact_form .mktoForm:has(input[name=BA_personalinformation]:checked) .mktoButton:hover::before {
				border-color: #222222;
				translate: 3px -50%;
		}
}
#contact_form .mktoFormRow {
		padding-block: 30px;
		border-top: solid 1px #DBD9CD;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		gap: 15px;
		width: 100%;
}
#contact_form .mktoFormCol {
		-webkit-box-flex: 1;
		    -ms-flex: 1;
		        flex: 1;
}
#contact_form .mktoClear {
		display: none;
}
#contact_form .mktoGutter {
		display: none;
}
#contact_form .mktoForm .mktoOffset {
		display: none;
}
#contact_form .mktoFieldWrap {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		gap: 15px;
		width: 100%;
}
#contact_form .mktoLabel {
		font-size: 1.6rem;
		font-weight: 400;
		font-family: "Noto Serif JP";
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		    -ms-flex-direction: row-reverse;
		        flex-direction: row-reverse;
		-webkit-box-pack: end;
		    -ms-flex-pack: end;
		        justify-content: flex-end;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		gap: 5px;
		width: 100% !important;
}
@media screen and (min-width: 992px) {
		#contact_form .mktoLabel {
				font-size: 1.8rem;
		}
}
#contact_form .mktoAsterix {
		position: relative;
		float: none !important;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
		min-width: 34px;
		display: block;
		padding: 5px 0;
		font-size: 1.4rem;
}
#contact_form .mktoAsterix::before {
		content: "必須";
		position: absolute;
		top: 50%;
		left: 0px;
		display: inline-block;
		color: #fff;
		font-size: 1.2rem;
		line-height: 1;
		font-weight: 400;
		background-color: #C8102E;
		padding: 5px;
		border-radius: 5px;
		text-indent: 0;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
}
#contact_form .mktoFormCol {
		margin-bottom: 0 !important;
}
#contact_form .mktoField {
		border-color: #222222 !important;
		border-radius: 6px;
		font-size: 1.6rem !important;
		line-height: 1.5;
		padding: 20px 1em !important;
		display: block;
		min-height: 60px;
		background-color: #FAF8F4 !important;
		width: 100% !important;
		border-width: 1px;
}
#contact_form .mktoField::-webkit-input-placeholder {
		font-family: "Noto Serif JP";
}
#contact_form .mktoField::-moz-placeholder {
		font-family: "Noto Serif JP";
}
#contact_form .mktoField:-ms-input-placeholder {
		font-family: "Noto Serif JP";
}
#contact_form .mktoField::-ms-input-placeholder {
		font-family: "Noto Serif JP";
}
#contact_form .mktoField::placeholder {
		font-family: "Noto Serif JP";
}
#contact_form .mktoField[type=radio] {
		-webkit-appearance: none;
		   -moz-appearance: none;
		        appearance: none;
		display: none;
}
#contact_form .mktoField[type=radio]:checked + label::before {
		border-color: #008C64;
}
#contact_form .mktoField[type=radio]:checked + label::after {
		opacity: 1;
}
@media (hover: hover) and (pointer: fine) {
		#contact_form .mktoField[type=radio]:checked + label:hover::before {
				border-color: #ffffff;
		}
}
#contact_form .mktoRadioList {
		display: -ms-grid;
		display: grid;
		gap: 10px;
}
@media screen and (min-width: 768px) {
		#contact_form .mktoRadioList {
				width: 100% !important;
				-ms-grid-columns: (1fr)[3];
				grid-template-columns: repeat(3, 1fr);
		}
}
#contact_form .mktoRadioList label {
		position: relative;
		margin: 0;
		padding: 20px;
		display: block;
		border: solid 1px #222222;
		width: 100%;
		border: solid 1px #222222;
		border-radius: 6px;
		-webkit-padding-start: 50px;
		        padding-inline-start: 50px;
		font-family: "Noto Serif JP";
		font-size: 1.6rem;
		line-height: 1.8;
		font-weight: 400;
		-webkit-transition: background-color 0.3s, color 0.3s;
		transition: background-color 0.3s, color 0.3s;
}
#contact_form .mktoRadioList label::before {
		content: "";
		position: absolute;
		left: 20px;
		top: 50%;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
		width: 20px;
		height: auto;
		aspect-ratio: 1/1;
		border-radius: 50%;
		border: solid 1px #222222;
		-webkit-transition: border-color 0.3s;
		transition: border-color 0.3s;
}
#contact_form .mktoRadioList label::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 20px;
		background-color: #008C64;
		border-radius: 50%;
		width: 22px;
		height: auto;
		aspect-ratio: 1/1;
		translate: 0 -50%;
		scale: 0.6;
		-webkit-transition: opacity 0.3s;
		transition: opacity 0.3s;
		opacity: 0;
}
@media (hover: hover) and (pointer: fine) {
		#contact_form .mktoRadioList label:hover {
				cursor: pointer;
				background-color: #008C64;
				color: #ffffff;
		}
		#contact_form .mktoRadioList label:hover::before {
				border-color: #ffffff;
		}
		#contact_form .mktoRadioList label:hover::after {
				background-color: #ffffff;
		}
}
#contact_form .mktoRadioList {
		width: 100% !important;
}
#contact_form .mktoLogicalField {
		width: -webkit-fit-content !important;
		width: -moz-fit-content !important;
		width: fit-content !important;
}
#contact_form .mktoHtmlText {
		line-height: 1.5;
		text-align: left;
		font-family: "Noto Serif JP";
		font-size: 1.6rem;
}
#contact_form .mktoLogicalField input {
		-webkit-appearance: none;
		   -moz-appearance: none;
		        appearance: none;
		display: none;
}
#contact_form .mktoLogicalField label {
		position: relative;
		display: block;
		border: solid 1px #222222;
		margin: 0;
		padding: 20px;
		-webkit-padding-start: 50px;
		        padding-inline-start: 50px;
		border-radius: 6px;
		font-size: 1.5rem;
		line-height: 1.5;
		font-family: "Noto Serif JP";
		color: #222222;
		-webkit-transition: background-color 0.3s, color 0.3s;
		transition: background-color 0.3s, color 0.3s;
}
#contact_form .mktoLogicalField label::before {
		content: "";
		position: absolute;
		width: 20px;
		height: 20px;
		background-color: #008C64;
		border-radius: 2px;
		left: 20px;
		top: 50%;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
		border: solid 1px #222222;
		background-color: #FAF8F4;
		-webkit-transition: background-color 0.3s, border-color 0.3s;
		transition: background-color 0.3s, border-color 0.3s;
}
#contact_form .mktoLogicalField label::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 27px;
		width: 10px;
		height: 3px;
		border-left: solid 3px #ffffff;
		border-bottom: solid 3px #ffffff;
		rotate: -45deg;
		-webkit-transform: translateY(-80%);
		        transform: translateY(-80%);
		opacity: 0;
		-webkit-transition: opacity 0.3s;
		transition: opacity 0.3s;
}
#contact_form .mktoLogicalField:has(input:checked) label::before {
		background-color: #008C64;
}
#contact_form .mktoLogicalField:has(input:checked) label::after {
		opacity: 1;
}
@media (hover: hover) and (pointer: fine) {
		#contact_form .mktoLogicalField:hover label {
				cursor: pointer;
				background-color: #008C64;
				color: #ffffff;
		}
		#contact_form .mktoLogicalField:hover label::before {
				border-color: #ffffff;
		}
}
#contact_form .mktoButtonRow {
		border-top: solid 1px #DBD9CD;
		-webkit-padding-before: 40px;
		        padding-block-start: 40px;
		width: 100%;
}
#contact_form .mktoButtonWrap {
		display: contents;
}
#contact_form .mktoButton {
		position: relative;
		background-color: #B6B6B6;
		pointer-events: none;
		color: #fff;
		border-radius: 6px;
		border-color: #B6B6B6;
		font-size: 2rem;
		font-family: "Noto Serif JP";
		max-width: 320px;
		display: block;
		padding: 20px 80px;
		width: 100%;
		font-weight: 400;
		margin-inline: auto;
		-webkit-transition: background-color 0.3s, color 0.3s;
		transition: background-color 0.3s, color 0.3s;
}
#contact_form .mktoButton::before {
		content: "";
		position: absolute;
		top: 50%;
		right: 20px;
		border-top: solid 1px #ffffff;
		border-right: solid 1px #ffffff;
		width: 6px;
		height: 6px;
		rotate: 45deg;
		translate: 0 -50%;
		-webkit-transition: border-color 0.3s, translate 0.3s;
		transition: border-color 0.3s, translate 0.3s;
}