@charset "utf-8";
/* download */
#download h2 {
	margin-bottom: 8.3rem;
	padding: 6rem 2rem 6.7rem;
	font-size: 2rem;
	text-align: center;
	background-color: #F2EBE9;
	font-weight: 500;
	letter-spacing: 0.03em;
}
#download h2 span {
	margin-bottom: 2.3rem;
	display: inline-block;
	font-size: 4.7rem;
	font-weight: 400;
	position: relative;
	font-family:"century-gothic";
	letter-spacing: 0.1em;
}
#download h2 span::before {
	margin-left: -1.8rem;
	position: absolute;
	left: 50%;
	bottom: -0.2rem;
	width: 3.6rem;
	height: 0.2rem;
	content: '';
	background-color: #000;
}
.mailForm {
	margin: 0 auto;
	max-width: calc(100% - 4rem);
	width: 110rem;
	box-sizing: border-box;
}
.mailForm .centerP {
	margin-bottom: 9.9rem;
	font-size: 2rem;
	text-align: center;
	font-weight: 500;
	line-height: 1.75;
}
.mailForm .imgUl {
	justify-content: space-between;
	margin: 0 6.6rem 2.9rem;
	display: flex;
	flex-wrap: wrap;
	gap: 2.5rem;
}
.mailForm .imgUl li {
	width: calc((100% - 5.1rem) / 3);
}
.mailForm .formDl {
	margin: 0 auto 4.3rem;
	max-width: 96.8rem;
	display: flex;
	flex-wrap: wrap;
	word-break: break-all;
}
.mailForm .formDl dt {
	padding-top: 0.8rem;
	display: flex;
	width: 36.5rem;
	font-size: 2rem;
	letter-spacing: 0.1em;
}
.mailForm .formDl .lTxt {
	width: 11.5rem;
}
.mailForm .formDl .rTxt {
	padding-top: 0.2rem;
}
.mailForm .formDl .must {
	padding: 0 0 0.3rem;
	display: block;
	width: 8rem;
	border: 1px solid #EC768C;
	color: #EC768C;
	border-radius: 2rem;
	font-size: 1.8rem;
	text-align: center;
}
.mailForm .formDl dd {
	margin-bottom: 5.5rem;
	width: calc(100% - 36.5rem);
	font-size: 2rem;
	letter-spacing: 0.1em;
}
.mailForm .formDl dd:last-of-type {
	margin-bottom: 0;
}
.mailForm .formDl dd input:not(:first-child) {
	margin-top: 5.5rem;
}
.mailForm .formDl li input:not(:first-child) {
	margin-top: 0;
}
.mailForm .formDl input[type="text"],
.mailForm .formDl input[type="tel"],
.mailForm .formDl input[type="email"],
.mailForm .formDl textarea {
	color: #000;
	padding: 0.5rem 1.5rem;
	width: 100%;
	font-size: 2rem;
	height: 5rem;
	appearance: none;
	border-radius: 0;
	border: 1px solid #000;
	box-sizing: border-box;
	letter-spacing: 0.1em;
	appearance: none;
	-webkit-appearance: none;
}
.mailForm .formDl input[type="text"].error,
.mailForm .formDl input[type="tel"].error,
.mailForm .formDl input[type="email"].error,
.mailForm .formDl textarea.error {
	border-color: #EC768C;
}
.mailForm input::-webkit-input-placeholder,
.mailForm textarea::-webkit-input-placeholder {
	color: #BEBEBE;
	opacity:1;
}
.mailForm input:-moz-placeholder,
.mailForm textarea:-moz-placeholder {
	color: #BEBEBE;
	opacity:1;
}
.mailForm input::-moz-placeholder,
.mailForm textarea::-moz-placeholder {
	color: #BEBEBE;
	opacity:1;
}
.mailForm input:-ms-input-placeholder,
.mailForm textarea:-ms-input-placeholder {
	color: #BEBEBE;
	opacity:1;
}
.mailForm .formDl textarea {
	padding: 0.8rem 1.5rem;
	height: 40rem;
}
.mailForm .formDl .telList {
	display: flex;
	gap: 3rem;
}
.mailForm .formDl .telList li {
	width: calc((100% - 6rem) / 3);
	position: relative;
	flex-shrink: 0;
}
.mailForm .formDl .telList li::before {
	position: absolute;
	right: -2.2rem;
	top: 2.5rem;
	width: 1.5rem;
	height: 1px;
	content: '';
	background-color: #000;
}
.mailForm .formDl .telList li:last-child:before {
	display: none;
}
.mailForm .radioList {
	margin: 0.3rem 0 -0.7rem;
}
.mailForm .radioList li {
	margin-bottom: 0.5rem;
}
.mailForm .radioList li label {
	width: fit-content;
	display: block;
}
.mailForm .radioList li.item {
	display: flex;
	gap: 2.3rem;
	width: 100%;
}
.mailForm .radioList li input[type="text"] {
	flex: 1;
}
.mailForm .radioList li:last-child {
	margin-bottom: 0;
}
.mailForm .radioList input[type="radio"] {
	display: none;
}
.mailForm .radioList input[type="radio"] + span {
	display: block;
	width: fit-content;
	padding: 0.5rem 0 1rem 4.4rem;
	background: url(../img/common/radio.webp) no-repeat left center;
	background-size: 3.1rem;
	cursor: pointer;
}
.mailForm .radioList input[type="radio"]:checked + span {
	background-image: url(../img/common/radio_on.webp);
}
.mailForm .emailList li + li {
	margin-top: 5.5rem;
}
.mailForm .agree {
	margin: 3rem 0 2.9rem;
	text-align: center;
	font-weight: 500;
	font-size: 2rem;
}
.mailForm .agree input[type="checkbox"] {
	display: none;
}
.mailForm .agree input[type="checkbox"] + span {
	display: inline-block;
	padding: 0.1rem 0 0.5rem 4.3rem;
	background: url(../img/common/radio.webp) no-repeat left center;
	background-size: 3.1rem;
	letter-spacing: 0.15em;
	cursor: pointer;
	transition: 0.3s;
}
.mailForm .agree input[type="checkbox"]:checked + span {
	background-image: url(../img/common/radio_on.webp);
}
.mailForm .policyTxt,
.mailForm .recaptchaTxt {
	text-align: center;
	line-height: 1.875;
	letter-spacing: 0.05em;
	font-size: 1.6rem;
}
.mailForm .policyTxt a {
	margin-right: 0.4rem;
	text-decoration: underline;
	position: relative;
	font-weight: 700;
}
.mailForm .errorTxt {
	margin: 1rem 0 -2rem;
	color: #EC768C;
	letter-spacing: 0.03em;
}
.mailForm .submit {
	margin-top: 3.4rem;
	display: flex;
	justify-content: center;
}
.mailForm .submit li {
	margin: 0 4rem;
	width: 30rem;
}
.mailForm .submit input {
	color: #fff;
	font-weight: bold;
	text-align: center;
	width: 100%;
	height: 6rem;
	font-size: 1.8rem;
	border-radius: 5rem;
	border: none;
	appearance: none;
	background: #EC768C url("../img/common/icon10.webp") no-repeat right 4rem center;
	background-size: 2.7rem auto;
	letter-spacing: 0.28em;
	padding: 0 4.5rem 0.3rem 0.5rem;
	cursor: pointer;
	transition: 0.3s;
}
.grecaptcha-badge {
	visibility: hidden;
}
.mailForm .agree .errorTxt {
	margin: 3.3rem 0 -1.5rem;
	font-size: 2rem;
}
.mailForm .errorInfo {
	margin: 12.3rem 0 7.2rem;
	padding: 0.5rem;
	color: #EC768C;
	font-size: 2rem;
	letter-spacing: 0.03em;
	text-align: center;
	background-color: #FEF8F9;
	border: 1px solid #EC768C;
}
@media all and (min-width: 897px) {
	.mailForm .submit input:hover {
		opacity: 0.65;
	}
	.mailForm .agree input[type="checkbox"] + span:hover {
		opacity: 0.4;
	}
	.mailForm .policyTxt a:hover {
		opacity: 0.7;
	}
	.mailForm .recaptchaTxt a:hover {
		opacity: 0.7;
	}
	.mailForm .policyTxt {
		margin-top: 9.7rem;
	}
	.mailForm .errorInfo + .policyTxt {
		margin-top: 0;
	}
}
@media all and (max-width: 896px) {
	#download h2 {
		margin-bottom: 5rem;
		padding: 4.7rem 2rem 5.5rem;
		font-size: 1.25rem;
	}
	#download h2 span {
		margin-bottom: 1.3rem;
		font-size: 2.75rem;
		letter-spacing: 0.05em;
	}
	#download h2 span::before {
		margin-left: -0.9rem;
		bottom: 0;
		width: 1.8rem;
	}
	.mailForm {
		padding: 0 1.7rem;
		max-width: inherit;
		width: auto;
	}
	.mailForm .imgUl {
		margin: 0 0.8rem 2.3rem;
		gap: 0.8rem;
	}
	.mailForm .imgUl li {
		width: calc(50% - 0.4rem);
	}
	.mailForm .centerP {
		margin-bottom: 5.1rem;
		font-size: 1.6rem;
	}
	.mailForm .formDl {
		margin: 0 0.8rem 2.7rem;
		max-width: inherit;
		display: block;
	}
	.mailForm .formDl dt {
		margin-bottom: 1.6rem;
		width: 100%;
		font-size: 1.6rem;
	}
	.mailForm .formDl dd {
		font-size: 1.6rem;
		margin-bottom: 3rem;
		width: 100%;
	}
	.mailForm .formDl dd input:not(:first-child) {
		margin-top: 2rem;
	}
	.mailForm .formDl .must {
		margin: 0.1rem 0 0 1.2rem;
		padding-top: 0.2rem;
		width: 6.4rem;
		font-size: 1.4rem;
		line-height: 1.3;
	}
	.mailForm .formDl .lTxt {
		width: auto;
		order: 2;
	}
	.mailForm .formDl .rTxt {
		order: 1;
	}
	.mailForm .formDl .telList li {
		width: 30%;
		margin-right: 5%;
	}
	.mailForm .formDl input[type="text"],
	.mailForm .formDl input[type="tel"],
	.mailForm .formDl input[type="email"] {
		padding: 0.5rem 1rem;
		height: 4rem;
		font-size: 1.6rem;
	}
	.mailForm .radioList li.item {
		display: block;
	}
	.mailForm .radioList li input[type="text"] {
		margin-top: 1.2rem;
	}
	.mailForm .formDl textarea {
		height: 34.1rem;
		font-size: 1.6rem;
	}
	.mailForm .emailList li + li {
		margin-top: 2rem;
	}
	.mailForm .formDl .telList {
		gap: 2.5rem;
	}
	.mailForm .formDl .telList li {
		max-width: 9.7rem;
		width: calc((100% - 5rem) / 3);
		margin-right: 0;
	}
	.mailForm .formDl .telList li::before {
		top: 2rem;
		right: -1.7rem;
		width: 1.1rem;
	}
	.mailForm .radioList {
		margin: -0.5rem 0 0;
	}
	.mailForm .radioList input[type="radio"] + span {
		padding: 0.4rem 0 0.4rem 3.3rem;
		font-size: 1.6rem;
		letter-spacing: 0.1em;
		background-size: 2.25rem;
	}
	.mailForm .policyTxt,
	.mailForm .recaptchaTxt {
		line-height: 1.857;
		letter-spacing: 0.05em;
		font-size: 1.4rem;
	}
	.mailForm .policyTxt a[target="_blank"]::after {
		margin: -0.4rem 0 0 0.3rem;
		width: 1rem;
	}
	.mailForm .agree {
		margin: 2.4rem 0 2.3rem;
	}
	.mailForm .agree input[type="checkbox"] + span {
		padding: 0.1rem 0 0.5rem 3.7rem;
		font-size: 1.75rem;
		font-weight: 500;
		background-size: 2.6rem;
	}
	.mailForm .submit {
		margin-top: 4.4rem;
		display: block;
	}
	.mailForm .submit li {
		margin: 0;
		width: auto;
		text-align: center;
	}
	.mailForm .submit li + li {
		margin-top: 3rem;
	}
	.mailForm .submit input {
		padding: 0 4.2rem 0.3rem 1rem;
		width: 25rem;
		height: 5rem;
		font-size: 1.5rem;
		letter-spacing: 0.25em;
		background-size: 2.15rem;
		background-position: right 3rem center;
	}
	.mailForm .errorTxt {
		margin: 0.5rem 0 0rem;
		font-size: 1.6rem !important;
	}
	.mailForm .radioList + .errorTxt {
		margin-top: 0.7rem;
	}
	.mailForm .agree .errorTxt {
		margin: 2.2rem 0 3rem;
	}
	.mailForm .errorInfo {
		margin: 6rem 0.7rem 5.8rem;
		padding: 2.2rem 0.5rem;
		font-size: 1.6rem;
		line-height: 1.7;
		letter-spacing: 0.1em;
	}
	.mailForm .formDl + .submit {
		margin-top: 6.5rem;
	}
}

#download.confirm h2 {
	margin-bottom: 7rem;
}
#download.confirm .mailForm .centerP {
	margin-bottom: 7.1rem;
}
#download.confirm .mailForm .formDl {
	margin-bottom: 11rem;
	max-width: inherit;
	border-bottom: 2px dotted #C0BFC0;
}
#download.confirm .mailForm .formDl dt {
	font-weight: 500;
	text-align: left;
	border-top: 2px dotted #C0BFC0;
}
#download.confirm .mailForm .formDl dt,
#download.confirm .mailForm .formDl dd {
	margin: 0;
	padding: 4rem 0 4.8rem 10rem;
}
#download.confirm .mailForm .formDl dd {
	padding-left: 4rem;
}
#download.confirm .mailForm .formDl .lTxt {
	display: none;
}
#download.confirm .mailForm .formDl dd {
	border-top: 2px dotted #C0BFC0;
}
#download.confirm .mailForm .submit input {
	padding: 0 5rem 0 6rem;
	letter-spacing: 0.8em;
}
#download.confirm .mailForm .submit input {
	background-color: #4C4948;
	background-image: url(../img/common/icon06.webp);
}
#download.confirm .mailForm .submit .back input {
	background-image: url(../img/common/icon07.webp);
	background-position: left 4.7rem center;
}
@media all and (max-width: 896px) {
	#download.confirm h2 {
		margin-bottom: 4.3rem;
	}
	#download.confirm .mailForm .centerP {
		margin-bottom: 4.4rem;
	}
	#download.confirm .mailForm .formDl {
		margin-bottom: 6.5rem;
	}
	#download.confirm .mailForm .formDl dt {
		padding: 2.2rem 0 0.8rem;
		font-weight: 600;
	}
	#download.confirm .mailForm .formDl dd {
		padding: 0 0 2.8rem;
		border: none;
	}
	#download.confirm .mailForm .submit input {
		width: 23rem;
		padding: 0 4rem 0.3rem 5rem;
		letter-spacing: 0.8em;
	}
	#download.confirm .mailForm .submit .back input {
		background-position: left 3rem center;
	}
}
#download.thanks {
	padding-bottom: 12.7rem;
	text-align: center;
	background: #F2EBE9;
	height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
#download.thanks h2 {
	margin-bottom: 5.3rem;
	padding: 13.8rem 0 0;
	font-size: 7rem;
	letter-spacing: 0.05em;
	font-weight: 400;
	font-family: "century-gothic";
}
#download.thanks h2 span {
	margin: 0 auto;
	display: block;
	width: 8.4rem;
}
#download.thanks h2 span::before {
	display: none;
}
#download.thanks .mailForm h3 {
	margin-bottom: 3.5rem;
	font-size: 3.2rem;
	font-weight: 500;
}
#download.thanks .mailForm p {
	margin-bottom: 3.3rem;
}
#download.thanks .mailForm p:last-of-type {
	margin-bottom: 8.5rem;
}
#download.thanks .mailForm .comBtn {
	margin: 0 auto;
	width: 30rem;
}
#download.thanks .mailForm .comBtn a {
	height: 6rem;
	background-color: #4C4948;
}
@media all and (min-width: 897px) {
	#download.thanks .mailForm .comBtn a:hover {
		background-color: #8A8888;
	}
}
@media all and (max-width: 896px) {
	#download.thanks {
		padding-bottom: 3.1rem;
		height: 100svh;
	}
	#download.thanks h2 {
		margin-bottom: 2.2rem;
		padding-top: 5.8rem;
		font-size: 3.9rem;
	}
	#download.thanks h2 span {
		margin-bottom: 0.6rem;
		width: 5.8rem;
	}
	#download.thanks .mailForm {
		padding: 0 1rem;
	}
	#download.thanks .mailForm h3 {
		margin-bottom: 2.5rem;
		font-size: 2.25rem;
		font-weight: 700;
		line-height: 1.75;
	}
	#download.thanks .mailForm p {
		margin-bottom: 2.7rem;
		letter-spacing: 0;
	}
	#download.thanks .mailForm p:last-of-type {
		margin-bottom: 4.5rem;
	}
	#download.thanks .mailForm .comBtn {
		width: 25rem;
	}
	#download.thanks .mailForm .comBtn a {
		height: 5rem;
	}
}