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

	- page_title
	- guideline

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

/*----------------------------------------
	page_title
-----------------------------------------*/
#page_title {
	position: relative;
	width: 100%;
	padding: min(8.5vw,136px) 0 min(5.81vw,93px);
}

#page_title::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	border-right: 19.37vw solid var(--bg-color01);
	border-bottom: 19.37vw solid transparent;
	z-index: -1;
}

#page_title h1 {
	width: min(80vw,1280px);
	margin: 0 auto;
}

@media screen and (max-width: 1200px) {
	#page_title h1 {
		width: min(80vw,960px);
	}
}

@media screen and (max-width: 768px) {
	#page_title {
		padding: 17.5vw 0 17vw;
	}
	#page_title::before {
		border-right: 30vw solid var(--bg-color01);
		border-bottom: 30vw solid transparent;
	}
	#page_title h1 {
		width: 90%;
		line-height: var(--line-height01half);
	}
}

/*----------------------------------------
	guideline
-----------------------------------------*/
#guideline {
	width: 960px;
	margin: 0 auto;
}

#guideline > p:first-of-type {
	margin-top: min(1.87vw,30px);
}

#guideline > p:nth-of-type(2) {
	margin-top: 1em;
}

#guideline > ol {
	margin-top: min(2.87vw,46px);
	counter-reset: num 0;
}

#guideline > ol > li {
	position: relative;
	padding-left: 2.5em;
}

#guideline > ol > li::before {
	content: counter(num) ".";
	counter-increment: num 1;
	position: absolute;
	top: 0;
	left: 0;
	width: 1em;
}

#guideline > ol > li:nth-child(n+2) {
	margin-top: min(2vw,32px);
}

#guideline > ol > li > dl > dd > ol {
	margin-top: min(2.5vw,40px);
}

#guideline > ol > li > dl > dd > ol > li {
	padding-left: 3em;
	text-indent: -3em;
}

#guideline > ol > li > dl > dd > ol > li:nth-child(n+2) {
	margin-top: min(1.25vw,20px);
}

#guideline > ol > li > dl > dd > ol > li > ol {
	margin-top: min(1.5vw,24px);
	text-indent: 0;
}

#guideline > ol > li > dl > dd > ol > li > ol > li {
	display: flex;
	align-items: flex-start;
	column-gap: 0.5em;
	padding-left: 0;
	text-indent: 0;
}

#guideline > ol > li > dl > dd > ol > li > ol > li > span:first-child {
	flex: none;
}

#guideline > ol > li > dl > dd > ol > li > ol > li > span:last-child {
	min-width: 0;
}

#guideline > ol > li > dl > dd > ol > li > ol > li:nth-child(n+2) {
	margin-top: min(1vw,16px);
}

#guideline > ol > li > dl > dd > p + p {
	margin-top: min(2vw,32px);
}

#guideline > dl {
	margin-top: min(3.12vw,50px);
}

#guideline > p:last-of-type {
	display: flex;
	justify-content: flex-end;
	margin-top: min(3.12vw,50px);
}

@media screen and (max-width: 1200px) {
	#guideline {
		width: min(80vw,960px);
	}
}

@media screen and (max-width: 768px) {
	#guideline {
		width: 90%;
	}
	#guideline > p:first-of-type {
		margin-top: 6.87vw;
	}
	#guideline > ol {
		margin-top: 6vw;
	}
	#guideline > ol > li:nth-child(n+2) {
		margin-top: 8vw;
	}
	#guideline > ol > li > dl > dd > ol {
		margin-top: 8.75vw;
	}
	#guideline > ol > li > dl > dd > ol > li:nth-child(n+2) {
		margin-top: 5vw;
	}
	#guideline > ol > li > dl > dd > ol > li > ol {
		margin-top: 6vw;
	}
	#guideline > ol > li > dl > dd > ol > li > ol > li:nth-child(n+2) {
		margin-top: 4vw;
	}
	#guideline > ol > li > dl > dd > p + p {
		margin-top: 6vw;
	}
	#guideline > dl {
		margin-top: 6.87vw;
	}
	#guideline > p:last-of-type {
		margin-top: 6.87vw;
	}
}
