@charset "utf-8";
.contact_lead {
		line-height: 2.0;
		margin: 0 0 30px;
		text-align: justify;
}
.contact_lead.first {
		margin-bottom: 1em;
}
.contact_lead_hd {
		font-size: 100%;
		font-weight: 600;
		margin: 0 0 10px;
		color: #3DAE35;
}
.contact_lead_list {
		margin-left: 1em;
		margin-bottom: 1em;
}
.contact_lead_list li {
		list-style: none;
		position: relative;
		margin: 0 0 3px;
}
.contact_lead_list li::before {
		content: '・';
		display: block;
		position: absolute;
		top: 0;
		left: -1em;
}
.contact_lead_must {
		text-align: right;
		line-height: 2.0;
		margin: 0 0 30px;
}
.partners_hd {
		font-size: 32px;
		color: #3DAE35;
		font-weight: normal;
		font-weight: 500;
		margin: 15px 0 20px;
}
.contact_lead_flex {
		display: flex;
		justify-content: space-between;
		padding-bottom: 15px;
}
@media(max-width: 767px) {
		.contact_lead {
				line-height: 1.8;
				margin: 0 0 15px;
		}
		.contact_lead_must {
				line-height: 1.8;
				margin: 0 0 15px;
		}
		.partners_hd {
				font-size: 22px;
				margin: 30px 0 20px;
		}
		.contact_lead_flex {
				display: block;
		}
}
.contact_form {
		margin-bottom: 35px;
}
@media(max-width: 767px) {
		.contact_form {
				margin-bottom: 25px;
		}
}
.contact_form dt {
		color: #3DAE35;
		font-weight: 500;
		margin: 0 0 10px;
}
.contact_form dt span.must {
		margin-left: 2px;
}
.contact_form dd ul:not(.file_notes) {
		display: flex;
		align-items: center;
}
.contact_form dd ul {
		list-style: none;
}
.contact_form dd ul:not(.file_notes) li {
		display: flex;
		align-items: center;
		margin-right: 40px;
}
.contact_form dd ul.file_notes {
		font-size: 14px;
		margin-left: 1em;
		margin-top: 15px;
}
.contact_form dd ul.file_notes li {
		position: relative;
		margin: 0 0 6px;
		line-height: 1.8;
}
.contact_form dd ul.file_notes li:last-child {
		margin-bottom: 0;
}
.contact_form dd ul.file_notes li:before {
		content: '・';
		display: block;
		position: absolute;
		top: 0;
		left: -1em;
}
.contact_form dd ul li:last-child {
		margin-right: 0;
}
@media(max-width: 767px) {
		.contact_form dd ul:not(.horizon) {
				display: block;
				margin-top: 20px;
		}
		.contact_form dd ul.horizon {
				margin-top: 20px;
		}
		.contact_form dd ul:not(.file_notes) li {
				margin: 0 0 15px;
		}
		.contact_form dd ul:not(.file_notes) li:last-child {
				margin: 0;
		}
		.contact_form dd ul.horizon li {
				margin: 0 30px 0 0 !important
		}
		.contact_form dd ul.horizon li:last-child {
				margin: 0
		}
}
.select_wrap {
		width: 60%;
		display: flex;
}
select {
		color: #1e1e1e;
}
@media(max-width: 767px) {
		.select_wrap {
				width: 100%;
		}
}
.select_body {
		position: relative;
		width: 100%;
}
.select_body::after {
		content: '';
		display: block;
		position: absolute;
		width: 6px;
		height: 6px;
		border-bottom: 2px solid #333;
		border-right: 2px solid #333;
		top: calc(50% - 5px);
		right: 15px;
		transform: rotate(45deg);
		pointer-events: none;
}
.agree_lead {
		line-height: 2.0;
		text-align: center;
		margin: 40px 0 30px;
}
.agree_check {
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0 0 60px;
		font-weight: 500;
}
.agree_check a {
		color: #3DAE35;
		text-decoration: underline;
}
@media (hover: hover) {
		.agree_check a:hover {
				color: #3DAE35;
				text-decoration: none;
		}
}
@media(max-width: 767px) {
		.agree_lead {
				font-size: 14px;
				line-height: 1.8;
				text-align: justify;
				margin: 40px 0 30px;
		}
		.agree_check {
				display: flex;
				justify-content: flex-start;
				align-items: center;
				margin: 0 0 40px;
				font-size: 14px;
				line-height: 1.8;
		}
}
.sendBtn_flex {
		display: flex;
		justify-content: center;
		align-items: center;
}
.sendBtn {
		width: 210px;
		margin: 0 10px;
		position: relative;
}
.sendBtn button {
		cursor: pointer;
		width: 210px;
		height: 50px;
		border-radius: 60px;
		background: #3DAE35;
		border: 1px solid #3DAE35;
		color: #fff;
		font-weight: 500;
		font-size: 16px;
		text-align: left;
		box-sizing: border-box;
		padding-left: 20px;
		transition: background 0.2s;
}
.sendBtn button:disabled {
		opacity: 0.7;
		cursor: not-allowed;
		pointer-events: none;
}
.sendBtn::before, .sendBtn::after {
		content: '';
		display: block;
		position: absolute;
		pointer-events: none;
}
.sendBtn::before {
		width: 30px;
		height: 30px;
		border-radius: 50%;
		top: calc(50% - 15px);
		right: 8px;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
		background: #fff;
}
.sendBtn::after {
		width: 8px;
		height: 8px;
		border-top: 2px solid #3DAE35;
		border-right: 2px solid #3DAE35;
		top: calc(50% - 4.5px);
		right: 19px;
		transform: rotate(45deg);
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (hover: hover) {
		.sendBtn:not(.disActive):hover button {
				background: #fff;
				color: #3DAE35;
		}
		.sendBtn:not(.disActive):hover::before {
				transform: translateX(-8px);
				background: #3DAE35;
		}
		.sendBtn:not(.disActive):hover::after {
				transform: translateX(-8px) rotate(45deg);
				border-top: 2px solid #fff;
				border-right: 2px solid #fff;
		}
}
@media(max-width: 767px) {
		.sendBtn {
				width: 200px;
				margin: 0;
		}
		.sendBtn button {
				cursor: pointer;
				width: 200px;
				height: 50px;
				font-size: 16px;
				padding-left: 22px;
		}
		.sendBtn_flex.confirmFlex {
				display: flex;
				justify-content: space-between;
				align-items: center;
		}
		.sendBtn_flex.confirmFlex .linkBtn, .sendBtn_flex.confirmFlex .sendBtn {
				width: calc(50% - 5px);
				font-size: 16px !important;
		}
		.sendBtn_flex.confirmFlex .sendBtn button {
				width: 100%;
		}
}
.error {
		color: #cc0000;
		font-size: 14px;
		font-weight: 500;
		padding-top: 8px;
}
.fileAlert {
		color: #cc0000;
		font-size: 15px;
		font-weight: 700;
		padding-top: 8px;
		padding-bottom: 5px;
}
.confirmLine dd {
		padding-top: 10px;
		padding-bottom: 10px;
		padding-left: 15px;
		border-bottom: 1px solid #B4B4B4;
}
.confirmBox {
		padding: 15px;
		border-radius: 8px;
		border: 1px solid #b4b4b4;
		line-height: 1.8;
}
@media(max-width: 767px) {
		.confirmBox {
				border-radius: 4px;
		}
}
.contact_form.confirmLineEnd {
		margin-bottom: 60px;
}
/* ============= */
input[type="button"], input[type="submit"], input[type="reset"], select {
		-webkit-appearance: none;
}
input::placeholder, textarea::placeholder {
		color: #B4B4B4;
		font-size: 14px;
		font-feature-settings: "palt";
		letter-spacing: 0.05em;
}
.contact_form input[type="text"], .contact_form input[type="email"], .contact_form textarea, .contact_form select {
		font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
		font-size: 16px;
		border-radius: 0;
		outline: none;
		border: none;
		box-sizing: border-box;
}
.contact_form input[type="text"], .contact_form input[type="email"], .contact_form textarea, .contact_form select {
		background-color: #f5f5f5;
		border-radius: 6px;
		width: 100%;
		padding: 15px;
		border: 1px solid #b4b4b4;
		box-sizing: border-box;
}
@media(max-width: 767px) {
		.contact_form input[type="text"], .contact_form input[type="email"], .contact_form textarea {
				padding: 15px;
				font-size: 18px;
		}
		.contact_form select {
				padding: 10px 15px;
				font-size: 18px;
		}
}
.contact_form input[type="radio"], .agree_check input[type="checkbox"] {
		width: 26px;
		height: 26px;
		margin-right: 10px;
		opacity: 0;
}
.contact_form dd li label, .agree_check label {
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
}
.contact_form dd li label span, .agree_check label span {
		position: relative;
		cursor: pointer
}
.contact_form dd li label span::before, .contact_form dd li label span::after, .agree_check label span::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 13px);
		left: -36px;
		width: 26px;
		height: 26px;
		box-sizing: border-box;
}
@media(max-width: 767px) {
		.agree_check label span::before {
				top: calc(50% - 20px);
		}
}
input[type="radio"] + span::before, input[type="radio"] + span::after {
		border-radius: 50%;
}
.contact_form dd li label span::before, .agree_check label span::before {
		background-color: #f5f5f5;
		border: 1px solid #b4b4b4;
}
.contact_form dd li label span::after {
		background: #3DAE35;
		transform: scale(0.6);
		border: none;
		opacity: 0;
		transition: opacity 0.3s;
}
input[type="radio"]:checked + span::after {
		opacity: 1 !important;
}
.agree_check label span::after {
		content: '';
		display: block;
		position: absolute;
		top: 4px;
		left: -31px;
		width: 14px;
		height: 6px;
		border-left: 4px solid #3DAE35;
		border-bottom: 4px solid #3DAE35;
		transform: rotate(-49deg);
		opacity: 0;
		transition: opacity 0.1s;
}
@media(max-width: 767px) {
		.agree_check label span::after {
				top: 10px
		}
}
input[type="checkbox"]:checked + span::after {
		opacity: 1 !important;
}
.contact_form textarea {
		height: 300px;
		line-height: 1.8;
}
.contact_form textarea.short {
		height: 150px
}
@media(max-width: 767px) {
		.contact_form textarea {
				height: 200px;
		}
		.contact_form textarea.short {
				height: 100px
		}
}
/* ================== */
.birth_flex {
		display: flex;
		align-items: center;
}
.birth_item {
		display: flex;
		align-items: center;
		margin-right: 15px;
		position: relative;
}
.birth_item::after {
		content: '';
		display: block;
		position: absolute;
		width: 6px;
		height: 6px;
		border-bottom: 2px solid #333;
		border-right: 2px solid #333;
		top: calc(50% - 5px);
		right: 35px;
		transform: rotate(45deg);
		pointer-events: none;
}
.birth_item select {
		margin-right: 5px;
}
.birth_item.year {
		width: 180px;
}
.birth_item.month {
		width: 130px;
}
.birth_item.day {
		width: 130px;
}
@media(max-width: 767px) {
		.birth_item {
				display: flex;
				align-items: center;
				margin-right: 10px;
		}
		.birth_item::after {
				right: 30px;
		}
		.birth_item select {
				font-size: 16px !important;
		}
		.birth_item.year, .birth_item.month, .birth_item.day {
				width: calc(calc(100% - 40px) / 3);
		}
}
/* ================ */
.imgattached {
		display: flex;
		align-items: center;
		position: relative;
		padding-top: 10px;
}
.imgattached input[type=file] {
		display: none !important;
}
.imgattached label {
		background: #F5F5F5;
		color: #333;
		border-radius: 8px;
		padding: 8px 35px;
		cursor: pointer;
		text-align: center;
		margin-right: 15px;
		border: 1px solid #B4B4B4;
}
.imgattached_delete {
		position: relative;
		display: block;
		width: 30px;
		height: 30px;
		display: none;
		cursor: pointer;
		margin-left: 20px;
}
.imgattached_delete::before, .imgattached_delete::after {
		content: '';
		display: block;
		position: absolute;
		top: 14.5px;
		left: 4px;
		width: 22px;
		height: 2px;
		pointer-events: none;
		background: #000;
}
.imgattached_delete::before {
		transform: rotate(45deg)
}
.imgattached_delete::after {
		transform: rotate(-45deg)
}
.imgattached:has(.mw-wp-form_file input[type="hidden"]) .imgattached_status {
		display: none;
}
.imgattached:has(.mw-wp-form_file input[type="hidden"]) .label-inner {
		opacity: 0
}
@media(max-width: 767px) {
		.imgattached {
				display: block;
				margin-top: 20px;
		}
		.imgattached_delete {
				right: inherit;
				left: 140px;
				top: -4px;
		}
		.imgattached_status {
				margin: 25px 0 0;
		}
}
/* =============== */
.complete_wrap {
		margin-bottom: 80px;
}
.complete_hd {
		font-size: 32px;
		font-weight: 500;
		text-align: center;
		margin-bottom: 35px;
}
.complete_caption {
		text-align: center;
		line-height: 1.8;
}
@media(max-width: 767px) {
		.complete_wrap {
				margin-bottom: 60px;
		}
		.complete_hd {
				font-size: 22px;
				margin-bottom: 25px;
		}
		.complete_caption {
				text-align: left;
		}
}
/* ============ */
.for_download {
		padding-top: 80px;
}
.for_download p {
		text-align: center;
		line-height: 1.8;
		margin: 0 0 30px;
		font-weight: 500;
}
@media(max-width: 767px) {
		.for_download {
				padding-top: 60px;
		}
		.for_download p {
				margin: 0 0 20px;
		}
}