@charset "UTF-8";
/*-----------------------------------
	common
-----------------------------------*/
#contents section {
	width: min(1300px,95vw);
	margin: 0 auto 120px;
	background: var(--bgClr1);
	border-radius: 40px;
	padding: 120px 0;
}
@media screen and (max-width: 640px) {
	#contents section {
		border-radius: 20px;
		padding: 60px 0;
		margin: 0 auto 60px;
	}
}
/*-----------------------------------
	intro_block
-----------------------------------*/
#intro_block .contents_inner > *:not(:last-child) {
	margin-bottom: 60px;
}
#intro_block .ttl {
	margin-bottom: 40px;
}
#intro_block .ttl h2 {
	width: max-content;
	font: 400 1.4rem/1 var(--fJA);
	letter-spacing: 0.05em;
	color: var(--mClr1);
	position: relative;
	margin-bottom: 10px;
}
#intro_block .ttl h2::after {
	content: "";
	width: 40px;
	height: 1px;
	background: var(--mClr1);
	position: absolute;
	top: 50%;
	left: calc(100% + 15px);
}
#intro_block .ttl .copy {
	font: 600 3.2rem/1.5 var(--fJA);
}
#intro_block p {
	line-height: 2;
}
#intro_block .col2 {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#intro_block .col2 > * {
	width: 46.54%;
}
#intro_block .col2 .text p {
	width: min(430px,100%);
}
#intro_block .col2 .image img {
	border-radius: 20px;
}
@media screen and (max-width: 840px) {
	#intro_block .col2 > * {
		width: 47%;
	}
}
@media screen and (max-width: 640px) {
	#intro_block .contents_inner > *:not(:last-child) {
		margin-bottom: 40px;
	}
	#intro_block .ttl {
		margin-bottom: 20px;
	}
	#intro_block .ttl h2 {
		font-size: 1.2rem;
		margin-bottom: 10px;
	}
	#intro_block .ttl h2::after {
		width: 30px;
		left: calc(100% + 10px);
	}
	#intro_block .ttl .copy {
		font-size: 2rem;
	}
	#intro_block .col2 {
		flex-direction: column !important;
		gap: 20px 0;
	}
	#intro_block .col2 > * {
		width: 100%;
	}
	#intro_block .col2 .text p {
		width: 100%;
	}
	#intro_block .col2 .image img {
		border-radius: 10px;
	}
}
/*-- intro01 --*/
#intro_block .intro01 {
	width: min(680px,100%);
	margin: 0 auto;
}
#intro_block .intro01 .ttl {
	margin-bottom: 60px;
}
#intro_block .intro01 .ttl h2 {
	padding-bottom: 10px;
	margin: 0 auto 10px;
}
#intro_block .intro01 .ttl h2::after {
	top: auto;
	bottom: 0;
	left: calc(50% - 20px);
}
#intro_block .intro01 .ttl .copy {
	font-size: 4rem;
	line-height: 1.75;
	text-align: center;
}
@media screen and (max-width: 640px) {
	#intro_block .intro01 .ttl {
		margin-bottom: 20px;
	}
	#intro_block .intro01 .ttl h2 {
		padding-bottom: 5px;
		margin: 0 auto 5px;
	}
	#intro_block .intro01 .ttl h2::after {
		left: calc(50% - 15px);
	}
	#intro_block .intro01 .ttl .copy {
		font-size: 2.2rem;
	}
}
/*-- intro03 --*/
#intro_block .intro03.col2 {
	flex-direction: row-reverse;
}
/*-----------------------------------
	guidelines_block
-----------------------------------*/
#guidelines_block h2 {
	text-align: center;
	font: 600 4rem/1.5 var(--fJA);
	letter-spacing: 0.05em;
	margin-bottom: 60px;
}
#guidelines_block h2::before {
	content: "GUIDELINES";
	font: 500 1.4rem/1 var(--fEN);
	letter-spacing: 0;
	color: var(--mClr1);
	display: block;
	margin-bottom: 10px;
}
#guidelines_block ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px 15px;
}
#guidelines_block ul li {
	width: clamp(170px,15.18vw,208px);
	background: var(--bgClr2);
	border-radius: 10px;
	padding: 105px 0 40px;
	text-align: center;
	letter-spacing: 0.05em;
	counter-increment: number;
	position: relative;
}
#guidelines_block ul li::before {
	content: counter(number, decimal-leading-zero);
	width: 40px;
	height: 40px;
	background: var(--bgClr1);
	border-radius: 50%;
	font: 500 1.4rem/40px var(--fEN);
	letter-spacing: 0;
	text-align: center;
	color: var(--mClr2);
	position: absolute;
	top: 40px;
	left: calc(50% - 20px);
}
#guidelines_block ul li .ttl {
	font: 600 2.4rem/1 var(--fJA);
	margin-bottom: 20px;
}
@media screen and (max-width: 640px) {
	#guidelines_block h2 {
		font-size: 2.2rem;
		margin-bottom: 30px;
	}
	#guidelines_block h2::before {
		font-size: 1.2rem;
		margin-bottom: 5px;
	}
	#guidelines_block ul {
		gap: 10px;
	}
	#guidelines_block ul li {
		width: 150px;
		border-radius: 5px;
		padding: 80px 0 30px;
	}
	#guidelines_block ul li::before {
		top: 25px;
	}
	#guidelines_block ul li .ttl {
		font-size: 1.8rem;
		margin-bottom: 10px;
	}
}