@charset 'UTF-8';
/*----------------------------------------

	- pageTitle
	- formTitle
	+ formContents
		- applicant
		- profession
		- others
		- privacyPolicy
		- transition

-----------------------------------------*/

/*----------------------------------------
	pageTitle
-----------------------------------------*/
.pageTitle {
	inline-size: min(80%, 1120px);
	margin-block-start: 192px;
	margin-inline: auto;
}

.pageTitle h1 {
	font-weight: var(--font-weight-medium);
	font-size: var(--font-size52);
	line-height: var(--line-height15);
}

.pageTitle .pageTxt {
	margin-block-start: 64px;
}

@media (width <=800px) {
	.pageTitle {
		inline-size: 88%;
		margin-block-start: 100px;
	}

	.pageTitle h1 {
		font-size: var(--font-size32);
	}
}

/*----------------------------------------
	formTitle
-----------------------------------------*/
.formTitle {
	margin-block-start: 95px;
}

.formTitle h2 {
	inline-size: min(80%, 1120px);
	margin-inline: auto;
	padding-block-start: 128px;
	border-block-start: var(--border-width1) solid currentColor;
	font-weight: var(--font-weight-medium);
	font-size: var(--font-size40);
	line-height: var(--line-height15);
}

.formTitle h2 br {
	display: none;
}

.formTitle ul {
	display: grid;
	gap: 0 5px;
	grid-template-columns: repeat(3, 1fr);
	inline-size: min(80%, 1120px);
	margin-block-start: 64px;
	margin-inline: auto;
	overflow: hidden;
	background: var(--color-palegray01);
	font-weight: var(--font-weight-medium);
	font-size: var(--font-size20);
	line-height: var(--line-height125);
}

.formTitle ul li {
	display: grid;
	place-content: center;
	position: relative;
	block-size: 80px;
	padding-inline: 4px 0;
}

.formTitle ul li:not(:first-of-type) {
	padding-inline: 2px 0;
}

.formTitle ul li.current {
	background: var(--color-darkgray01);
	color: var(--color-white01);
}

.formTitle ul li:not(:last-of-type)::after,
.formTitle ul li:not(:last-of-type)::before {
	content: '';
	display: block;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	position: absolute;
	inset-block-end: -50%;
	transform: translateX(50%);
	block-size: 160px;
	inline-size: 60px;
}

.formTitle ul li:not(:last-of-type)::after {
	inset-inline-end: 15px;
	background: var(--color-palegray01);
}

.formTitle ul li:not(:last-of-type)::before {
	inset-inline-end: 10px;
	background-color: var(--color-pearl01);
}

.formTitle ul li.current::after {
	inset-inline-end: 5px;
	background: var(--color-darkgray01);
}

.formTitle ul li.current::before {
	inset-inline-end: 0;
}

@media (width <=1024px) {
	.formTitle {
		margin-block-start: 73px;
	}

	.formTitle h2 br {
		display: block;
	}
}

@media (width <=800px) {
	.formTitle {
		margin-block-start: 95px;
	}

	.formTitle h2 {
		inline-size: 84%;
		padding-block-start: 80px;
		font-size: var(--font-size28);
	}

	.formTitle ul {
		gap: 0 15px;
		inline-size: 100%;
		margin-block-start: 48px;
		margin-inline: unset;
		font-size: var(--font-size14);
	}

	.formTitle ul li {
		block-size: 52px;
	}

	.formTitle ul li:not(:first-of-type) {
		padding-inline: 0 10px;
	}

	.formTitle ul li:not(:last-of-type)::before,
	.formTitle ul li:not(:last-of-type)::after {
		block-size: 104px;
		inline-size: 39px;
	}

	.formTitle ul li:not(:last-of-type)::before {
		inset-inline-end: 12px;
	}

	.formTitle ul li:not(:last-of-type)::after {
		inset-inline-end: 14px;
	}

	.formTitle ul li.current::before {
		inset-inline-end: 0;
	}

	.formTitle ul li.current::after {
		inset-inline-end: 2px;
	}
}

/*----------------------------------------
	formContents
-----------------------------------------*/
.formContents {
	inline-size: min(80%, 1120px);
	margin-block-start: 104px;
	margin-inline: auto;
}

.formContents h3 {
	display: grid;
	gap: 0 18px;
	grid-template-columns: max-content auto;
	align-items: center;
	padding-block-end: 39px;
	border-block-end: var(--border-width1) solid var(--color-black01);
	font-weight: var(--font-weight-medium);
	line-height: var(--line-height10);
}

.formContents h3 span {
	font-size: var(--font-size32);
}

.formContents h3 span+span {
	color: var(--color-red01);
	font-size: var(--font-size18);
}

.formContents input[type='text'] {
	inline-size: 100%;
	padding: 8px 18px;
	border: var(--border-width2) solid var(--color-palegray01);
	background: var(--color-white01);
	line-height: var(--line-height20);
	font-family: var(--font-family-mincho);
}

.formContents input[type='file'] {
	font-size: var(--font-size16);
}

.formContents textarea {
	block-size: 256px;
	inline-size: 100%;
	resize: none;
	padding: 19px 18px;
	border: var(--border-width2) solid var(--color-palegray01);
	background: var(--color-white01);
	line-height: var(--line-height20);
	font-family: var(--font-family-mincho);
}

.formContents .select {
	display: block;
	position: relative;
	border: var(--border-width1) solid var(--color-opalgray01);
	background: var(--color-palegray01);
	font-weight: var(--font-weight-medium);
	font-size: var(--font-size16);
	line-height: var(--line-height15);
}

.formContents .select::after {
	content: '';
	display: block;
	z-index: 1;
	position: absolute;
	inset-block-start: 50%;
	inset-inline-end: 20px;
	transform: translateY(-50%);
	block-size: 21px;
	inline-size: 21px;
	background: url(/asset/img/common/arrow_press_m.svg) no-repeat center center;
	background-size: contain;
}

.formContents .select select {
	z-index: 5;
	position: relative;
	inline-size: 100%;
	appearance: none;
	padding: 15px 19px;
}

.formContents dl dd label:has(input[type='checkbox']) {
	display: grid;
	gap: 0 20px;
	grid-template-columns: 24px auto;
}

.formContents input[type='checkbox'] {
	position: relative;
	block-size: 24px;
	inline-size: 24px;
	margin-block-start: 8px;
	border: var(--border-width2) solid var(--color-opalgray01);
	background: var(--color-white01);
}

.formContents input[type='checkbox']:checked::before {
	content: '';
	display: block;
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: 50%;
	transform: translate(-50%, -50%);
	block-size: 13px;
	inline-size: 18px;
	background: url(/asset/img/common/mark_check.svg) center center;
	background-size: contain;
}

.formContents dl dd label:has(input[type='radio']) {
	display: grid;
	gap: 0 18px;
	grid-template-columns: 28px auto;
}

.formContents input[type='radio'] {
	position: relative;
	block-size: 28px;
	inline-size: 28px;
	margin-block-start: 8px;
	border: var(--border-width2) solid var(--color-opalgray01);
	border-radius: 100vh;
	background: var(--color-white01);
}

.formContents input[type='radio']:checked::before {
	content: '';
	display: block;
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: 50%;
	transform: translate(-50%, -50%);
	block-size: 16px;
	inline-size: 16px;
	border-radius: 100vh;
	background: var(--color-black01);
}

.formContents dl dd .btn01 {
	max-inline-size: 400px;
	font-weight: var(--font-weight-medium);
	line-height: var(--line-height125);
}

@media (width <=800px) {
	.formContents {
		inline-size: 84%;
		margin-block-start: 85px;
	}

	.formContents h3 {
		padding-block-end: 29px;
	}

	.formContents h3 span {
		font-size: var(--font-size24);
	}

	.formContents h3 span+span {
		font-size: var(--font-size16);
	}

	.formContents input[type='text'] {
		padding: 6px 11px;
	}

	.formContents textarea {
		block-size: 191px;
		padding: 10px;
	}

	.formContents .select {
		font-size: var(--font-size14);
	}

	.formContents .select::after {
		inset-inline-end: 10px;
		block-size: 16px;
		inline-size: 16px;
		background-image: url(/asset/img/common/arrow_press_s.svg);
	}

	.formContents .select select {
		padding: 12px 12px;
	}

	.formContents input[type='checkbox'] {
		margin-block-start: 6px;
	}

	.formContents input[type='radio'] {
		margin-block-start: 4px;
	}

	.formContents dl dd .btn01 {
		max-inline-size: 336px;
	}
}

/*----------------------------------------
	applicant
-----------------------------------------*/
.applicant>dl {
	display: grid;
	gap: 0 32px;
	grid-template-columns: 180px auto;
	margin-block-start: 80px;
}

.applicant>dl>dt {
	padding-block-start: 9px;
}

.applicant>dl dd dt {
	margin-block-end: 5px;
	font-size: var(--font-size16);
}

.applicant dl dd .select {
	max-inline-size: 300px;
}

.applicant dl dd p+dl {
	margin-block-start: 32px;
}

.applicant dl dd :is(p,dl):has(input[type='text'])+p {
	margin-block-start: 4px;
	font-size: var(--font-size14);
}

.applicant dl dd p:has(input#mail)+p {
	color: var(--color-red01);
}

@media (width <=1024px) {
	.applicant>dl {
		display: grid;
		gap: 24px 0;
		grid-template-columns: 1fr;
	}

	.applicant>dl>dt {
		padding-block-start: 0;
	}
}

@media (width <=800px) {
	.applicant>dl {
		gap: 12px 0;
		margin-block-start: 49px;
	}

	.applicant>dl dd dt {
		margin-block-end: 4px;
		font-size: var(--font-size14);
	}

	.applicant dl dd :is(p, dl):has(input[type='text'])+p {
		margin-block-start: 4px;
		font-size: var(--font-size12);
	}
}

/*----------------------------------------
	profession
-----------------------------------------*/
.profession>dl {
	display: grid;
	gap: 0 32px;
	grid-template-columns: 180px auto;
	margin-block-start: 64px;
}

.profession>dl>dt {
	padding-block-start: 2px;
}

.profession>dl:has(select)>dt {
	padding-block-start: 9px;
}

.profession>dl:not(:first-of-type) {
	margin-block-start: 64px;
	padding-block-start: 70px;
	border-block-start: var(--border-width1) solid var(--color-opalgray01);
}

.profession>dl dd dt {
	margin-block-end: 5px;
	font-size: var(--font-size16);
}

.profession dl dd .select {
	max-inline-size: 300px;
}

.profession dl dd ul:has(input[type='radio']) {
	display: flex;
	flex-wrap: wrap;
	gap: 18px 36px;
	align-items: center;
}

@media (width <=1024px) {
	.profession>dl {
		gap: 24px 0;
		grid-template-columns: 1fr;
	}

	.profession>dl>dt {
		padding-block-start: 0;
	}

	.profession>dl:has(select)>dt {
		padding-block-start: 0;
	}

	.profession dl dd ul:has(input[type='radio']) {
		gap: 9px 36px;
	}
}

@media (width <=800px) {
	.profession>dl {
		gap: 12px 0;
		margin-block-start: 49px;
	}

	.profession>dl:not(:first-of-type) {
		margin-block-start: 40px;
		padding-block-start: 40px;
	}

	.profession>dl dd dt {
		margin-block-end: 4px;
		font-size: var(--font-size14);
	}
}

/*----------------------------------------
	others
-----------------------------------------*/
.others {
	margin-block-start: 112px;
}

.others>dl {
	display: grid;
	gap: 0 32px;
	grid-template-columns: 180px auto;
	margin-block-start: 80px;
}

.others>dl>dt {
	padding-block-start: 2px;
}

.others dl dd ul:has(input[type='radio']) {
	display: flex;
	flex-wrap: wrap;
	gap: 18px 36px;
	align-items: center;
}

@media (width <=1024px) {
	.others>dl {
		display: grid;
		gap: 24px 0;
		grid-template-columns: 1fr;
	}

	.others>dl>dt {
		padding-block-start: 0;
	}

	.others dl dd ul:has(input[type='radio']) {
		gap: 9px 36px;
	}
}

@media (width <=800px) {
	.others {
			margin-block-start: 93px;
	}

	.others>dl {
		gap: 12px 0;
		margin-block-start: 49px;
	}
}

/*----------------------------------------
	privacyPolicy
-----------------------------------------*/
.privacyPolicy>dl {
	margin-block-start: 80px;
	padding-inline-start: 212px;
}

.privacyPolicy>dl>dt {
	margin-block-end: 5px;
	font-size: var(--font-size16);
}

.privacyPolicy>dl>dt+dd {
	block-size: 300px;
	inline-size: 100%;
	padding-block: 18px;
	padding-inline: 20px 25px;
	overflow-y: scroll;
	border: var(--border-width2) solid var(--color-palegray01);
	background: var(--color-white01);
	line-height: var(--line-height15);
	font-family: var(--font-family-mincho);
}

.privacyPolicy>dl>dt+dd dt {
	position: relative;
	margin-block-start: 27px;
	padding-left: 1em;
}

.privacyPolicy>dl>dt+dd dt::before {
	content: '\25cf';
	position: absolute;
	inset-block-start: 0;
	inset-inline-start: 0;
}

.privacyPolicy>dl>dd+dd {
	margin-block-start: 25px;
}

.privacyPolicy>dl>dd+dd p label span {
	font-weight: var(--font-weight-medium);
}

.privacyPolicy>dl>dd+dd dl {
	margin-block-start: 58px;
}

.privacyPolicy>dl>dd+dd dl dt {
	font-size: var(--font-size16);
}

.privacyPolicy>dl>dd+dd dl dd {
	margin-block-start: 16px;
}

.privacyPolicy>dl>dd+dd dl dd img {
	block-size: 88px;
	inline-size: 148px;
}

@media (width <=1024px) {
	.privacyPolicy>dl {
		padding-inline-start: 0;
	}
}

@media (width <=800px) {
	.privacyPolicy h3 {
		gap: 18px 0;
		grid-template-columns: 1fr;
	}

	.privacyPolicy>dl {
		margin-block-start: 48px;
	}

	.privacyPolicy>dl>dt {
		margin-block-end: 4px;
		font-size: var(--font-size14);
	}

	.privacyPolicy>dl>dt+dd {
		block-size: 250px;
		padding-block: 10px;
		padding-inline: 10px 20px;
		font-size: var(--font-size14);
		line-height: var(--line-height20);
	}

	.privacyPolicy>dl>dd+dd {
		margin-block-start: 20px;
		line-height: var(--line-height15);
	}

	.privacyPolicy>dl>dd+dd label:has(input[type='checkbox']) {
		align-items: center;
	}

	.privacyPolicy>dl>dd+dd input[type='checkbox'] {
		margin-block-start: 0px;
	}

	.privacyPolicy>dl>dd+dd dl {
		margin-block-start: 40px;
	}

	.privacyPolicy>dl>dd+dd dl dt {
		font-size: var(--font-size14);
		line-height: var(--line-height222);
	}
}

/*----------------------------------------
	transition
-----------------------------------------*/
.transition {
	padding-block-start: 96px;
	border-block-start: var(--border-width1) solid currentColor;
}

.transition p {
	display: grid;
	min-block-size: 71px;
	max-inline-size: 400px;
	margin-inline: auto;
	font-weight: var(--font-weight-medium);
	line-height: var(--line-height12);
	user-select: none;
}

.transition p input[type='button'] {
	block-size: 100%;
	inline-size: 100%;
	padding: 10px 30px;
	border: var(--border-width1) solid var(--color-black01);
	border-radius: 100vh;
	text-align: center;
}

@media (hover: hover) {
	.transition p input[type='button']:hover {
		border-color: var(--color-darkgray01);
		background-color: var(--color-darkgray01);
		color: var(--color-white01);
		transition: all 0.2s cubic-bezier(0.45, 0, 0.55, 1);
	}
}

@media (width <=800px) {
	.transition {
		padding-block-start: 79px;
		border-block-start: var(--border-width1) solid currentColor;
	}

	.transition p {
		display: grid;
		min-block-size: 52px;
		max-inline-size: 300px;
	}
}