/* --------------------------------------------------
.dlform-wrapper
-------------------------------------------------- */

.dlform-wrapper {}
.dlform-wrapper .page-body {}
.dlform-wrapper .form-sec {
	padding-top: 90px;
	padding-bottom: 130px;
}
.dlform-wrapper .form-sec .container {
	max-width: 1020px;
}
.dlform-wrapper .form-sec .underline {
	text-decoration: underline;
}

.dlform-wrapper .form-sec .dlform-wrap {
	margin-top: 42px;
}
.dlform-wrapper .form-sec form {}

/* .documents-field-wrap */
.dlform-wrapper .form-sec .documents-field-wrap {
	//line-height: 1.4; 2026.04変更
	//font-size: 20px; 2026.04変更
	line-height: 1.6;
	font-size: 15px;
	margin-bottom: 35px;
}
.dlform-wrapper .form-sec .documents-field-wrap .radio-field {}
.dlform-wrapper .form-sec .documents-field-wrap .radio-field label {
	cursor: pointer;
	margin-bottom: 0.75em;
}
.dlform-wrapper .form-sec .documents-field-wrap .radio-field input {}
.dlform-wrapper .form-sec .documents-field-wrap .radio-field input[type=radio] {
	display: none; /* ラジオボタンを非表示にする */
}
.dlform-wrapper .form-sec .documents-field-wrap .radio-field .radio-field-text {
	position: relative;
	display: inline-block;
	line-height: 1.4;
	font-weight: bold;
	padding-left: 1.75em;
}
.dlform-wrapper .form-sec .documents-field-wrap .radio-field .radio-field-text::before,
.dlform-wrapper .form-sec .documents-field-wrap .radio-field .radio-field-text::after {
	content: "";
	position: absolute;
	left: 0.6em;
	top: 0.7em;
	transform: translate(-50%, -50%);
}
.dlform-wrapper .form-sec .documents-field-wrap .radio-field .radio-field-text::before {
	border: solid 2px #DEDEDE;
	width: 1.2em;
	height: 1.2em;
	border-radius: 1.2em;
}
.dlform-wrapper .form-sec .documents-field-wrap .radio-field .radio-field-text::after {
	background-color: var(--green1);
	width: 0.6em;
	height: 0.6em;
	border-radius: 0.6em;
	opacity: 0;
	transition: opacity 0.3s;
}
.dlform-wrapper .form-sec .documents-field-wrap .radio-field input[type="radio"]:checked + .radio-field-text::after {
	opacity: 1;
}
@media (max-width: 767px) {
	.dlform-wrapper .form-sec {
		padding-top: 48px;
		padding-bottom: 70px;
	}
	.dlform-wrapper .form-sec .documents-field-wrap {
		font-size: 16px;
	}
}

/* .table-form */
.dlform-wrapper .form-sec table.table-form {
	width: 100%;
	border-top: solid 1px #DEDEDE;
	margin-bottom: 45px;
}
.dlform-wrapper .form-sec table.table-form tbody {}
.dlform-wrapper .form-sec table.table-form tr {
	display: grid;
	align-items: flex-start;
	grid-template-columns: 1fr 2fr;
	gap: 40px;
	font-size: 14px;
	padding: 40px 0;
	min-height: 120px;
	border-bottom: solid 1px #DEDEDE;
}
.dlform-wrapper .form-sec table.table-form :is(th, td) {}
.dlform-wrapper .form-sec table.table-form th {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
}
.dlform-wrapper .form-sec table.table-form th .text {
	display: block;
	line-height: 1;
	padding: 0.35em 0;
}
.dlform-wrapper .form-sec table.table-form th :is(.required, .any) {
	display: block;
	line-height: 1;
	width: fit-content;
	padding: 0.35em 0.5em;
	text-align: center;
	min-width: 74px;
}
.dlform-wrapper .form-sec table.table-form th .required {
	color: var(--white);
	background-color: #008486;
}
.dlform-wrapper .form-sec table.table-form th .any {
	color: var(--black);
	background-color: #E9E9E9;
}
.dlform-wrapper .form-sec table.table-form td {
	align-self: center;
}
.dlform-wrapper .form-sec table.table-form [type="text"] {
	padding: 0.6em 1.25em;
	border: solid 1px #DEDEDE;
	border-radius: 4px;
	width: 100%;
	line-height: 1.8;
}
.dlform-wrapper .form-sec table.table-form td .address {}
.dlform-wrapper .form-sec table.table-form td .address p {}

.dlform-wrapper .form-sec table.table-form td .zip-code {}
.dlform-wrapper .form-sec table.table-form td .p-postal-code {
	width: 120px;
	margin: 0 0.5em;
}
.dlform-wrapper .form-sec table.table-form td select {
	appearance: none;
	padding: 0.6em 1.25em;
	border: solid 1px #DEDEDE;
	border-radius: 4px;
	width: 100%;
	color: var(--black);
	background-color: var(--white);
	background-image: url(../img/common/arrow-select.svg);
	background-repeat: no-repeat;
	background-position: top 50% right 10px;
}
.dlform-wrapper .form-sec table.table-form td select option {
	line-height: 1.8;
}
@media (max-width: 991px) {
	.dlform-wrapper .form-sec table.table-form tr {
		gap: 15px;
	}
}
@media (max-width: 767px) {
	.dlform-wrapper .form-sec table.table-form tr {
		grid-template-columns: 1fr;
		gap: 10px;
		padding: 25px 0;
	}
	.dlform-wrapper .form-sec table.table-form :is(th, td) {
		width: 100%;
	}
	.dlform-wrapper .form-sec table.table-form th {
		display: flex;
		gap: 10px;
	}
	.dlform-wrapper .form-sec table.table-form [type="text"] {}
	.dlform-wrapper .form-sec table.table-form td .address p.address2 {
		width: 100%;
	}
}

.dlform-wrapper .form-sec .submit-wrapper {
	font-size: 14px;
	max-width: 559px;
	margin-left: auto;
	margin-right: auto;
}
.dlform-wrapper .form-sec .policy-wrap {
	margin-bottom: 40px;
}
.dlform-wrapper .form-sec dl.policy-dl {
	line-height: 1.7;
}
.dlform-wrapper .form-sec dl.policy-dl dt {
	line-height: 1.7;
}
.dlform-wrapper .form-sec dl.policy-dl dd.list-style {
	position: relative;
	padding-left: 1.7em;
	line-height: 1.7;
}
.dlform-wrapper .form-sec dl.policy-dl dd.list-style::before {
	content: "";
	position: absolute;
	top: 0.75em;
	left: 0em;
	transform: translate(0%, -50%);
	display: block;
	width: 6px;
	height: 6px;
	background-color: var(--black);
}
.dlform-wrapper .form-sec .policy-wrap a.has-arrow {
	display: flex;
	align-items: center;
	position: relative;
	font-size: 15px;
	font-weight: bold;
	margin: 0;
	font-weight: bold;
	padding: 0 0 0 17px;
	border-radius: 0;
	color: var(--green2);
}
.dlform-wrapper .form-sec .policy-wrap a.has-arrow::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	display: block;
	width: 12px;
	height: 8px;
	margin-right: 1em;
	border-style: solid;
	border-width: 4px 0 4px 12px;
	border-color: transparent transparent transparent var(--green1);
}
.dlform-wrapper .form-sec .policy-wrap a.external-link {
	align-items: center;
	text-decoration: underline;
	margin-right: 1.15em;
}
.dlform-wrapper .form-sec .policy-wrap a.external-link::after {
	content: "";
	transform: translateY(0.15em);
	display: inline-block;
	margin-left: 1.05em;
	width: 1.42857143em;
	height: 1.07142857em;
	background-image: url(../img/common/ico-link_blank_green.svg);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}
.dlform-wrapper .form-sec .policy-field-wrap {
	margin-top: 30px;
}
.dlform-wrapper .form-sec .policy-field-wrap label {
	cursor: pointer;
}
.dlform-wrapper .form-sec .policy-field-wrap input[type=checkbox] {
	display: none; /* ラジオボタンを非表示にする */
}
.dlform-wrapper .form-sec .policy-field-wrap .checkbox-field-text {
	position: relative;
	display: inline-block;
	line-height: 1.4;
	padding-left: 3em;
}
.dlform-wrapper .form-sec .policy-field-wrap .checkbox-field-text::before,
.dlform-wrapper .form-sec .policy-field-wrap .checkbox-field-text::after {
	content: "";
	position: absolute;
}
.dlform-wrapper .form-sec .policy-field-wrap .checkbox-field-text::before {
	left: 1em;
	top: 0.6em;
	transform: translate(-50%, -50%);
	border: solid 2px var(--black);
	width: 2em;
	height: 2em;
	border-radius: 4px;
}
.dlform-wrapper .form-sec .policy-field-wrap .checkbox-field-text::after {
	left: 1.1em;
	top: 0.4em;
	transform: translate(-50%, -50%) rotate(-45deg);
	border-bottom: solid 2px var(--green1);
	border-left: solid 2px var(--green1);
	width: 1.5em;
	height: 0.7em;
	border-radius: 0;
	opacity: 0;
	transition: opacity 0.3s;
	z-index: -1;
}
.dlform-wrapper .form-sec .policy-field-wrap input[type="checkbox"]:checked + .checkbox-field-text::after {
	opacity: 1;
}
.dlform-wrapper .form-sec .submit-wrapper .btn-wrap {
	display: flex;
	gap: 20px;
	margin-top: 45px;
}
.dlform-wrapper .form-sec .submit-wrapper .btn {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1 0 0;
	font-size: 14px;
	min-height: 64px;
	width: auto;
	min-width: 0;
	border-radius: 0;
	border: none;
	padding: 0.5em 1em;
}
.dlform-wrapper .form-sec .submit-wrapper .btn input {
	display: block;
	padding: 0;
	margin: 0;
	border: none;
	background-color: initial;
	color: inherit;
}
.dlform-wrapper .form-sec .submit-wrapper .btn.submit {
	color: var(--white);
	background-color: #008486;
	max-width: 100%;
}
.dlform-wrapper .form-sec .submit-wrapper .btn.submit::before {
	content: "";
	width: 8px;
	height: 6px;
	border-style: solid;
	border-width: 3px 0 3px 8px;
	border-color: transparent transparent transparent var(--white);
}
.dlform-wrapper .form-sec .submit-wrapper .btn.back {
	color: var(--black);
	background-color: var(--gray2);
}
.dlform-wrapper .form-sec .ma-form {
	margin-top: 90px;
}
.dlform-wrapper .form-sec .ma-form iframe {
	width: 100%;
	border: none;
}
@media (max-width: 767px) {
	.dlform-wrapper .form-sec .submit-wrapper .btn-wrap {
		gap: 10px;
	}
	.dlform-wrapper .form-sec .submit-wrapper .btn {
		font-size: 15px;
		min-height: 56px;
	}
	.dlform-wrapper .form-sec .ma-form {
		margin-top: 40px;
	}
	.dlform-wrapper .form-sec .ma-form iframe {
	}
}
