@charset "utf-8";

/* sec_01
--------------------*/
main .sec_01 {
	padding: 90px 0;
}

main .sec_01 .wrap {
	display: flex;
	gap: 35px;
}

main .sec_01 .wrap p {
	flex: 1;
	margin: 50px 0 0;
}

main .sec_01 .wrap figure {
	width: 57.636%;
}

main .sec_01 h2 {
	margin: 0;
}

main .sec_01 dl {
	display: flex;
	border-bottom: 1px solid rgba(255,255,255,0.3);
}

main .sec_01 dl:first-child {
	margin: 55px 0 0;
	border-top: 1px solid rgba(255,255,255,0.3);
}

main .sec_01 dt {
	width: 160px;
	padding: 20px 0;
}

.en main .sec_01 dt {
	width: 260px;
}

main .sec_01 dd {
	flex: 1;
	padding: 20px 0;
}

main .sec_01 dd p + p {
	margin: 20px 0 0;
}

.en main .sec_01 dd p + p {
	margin: 0;
}

.en main .sec_01 dd p.indent {
	margin: 0 0 0 1em;
	text-indent: -1em;
}

@media (max-width: 1000px) {
	main .sec_01 {
		padding-top: 80px;
	}

	main .sec_01 .wrap {
		display: block;
	}

	main .sec_01 .wrap p {
		margin: 0;
	}

	main .sec_01 .wrap figure {
		width: 100%;
		max-width: 634px;
		margin: 55px auto 0;
	}

	main .sec_01 h2 {
		margin: 65px 0 0;
	}
}

@media (max-width: 768px) {
	main .sec_01 {
		padding: 43px 0;
	}

	main .sec_01 figure {
		margin: 43px 0 0;
	}

	main .sec_01 h2 {
		margin: 45px 0 0;
	}

	main .sec_01 dl {
		display: block;
		padding: 20px 0;
		border-top: 1px solid rgba(255,255,255,0.3);
		border-bottom: none;
	}

	main .sec_01 dl:first-child {
		margin: 40px 0 0;
	}

	main .sec_01 dt {
		width: 100% !important;
		padding: 0;
	}

	main .sec_01 dd {
		padding: 13px 0 0;
	}

	main .sec_01 dd p + p {
		margin: 12px 0 0;
	}
}

/* sec_02
--------------------*/
main .sec_02 {
	padding: 90px 0;
}

main .sec_02 h2 + p {
	margin: 60px 0 0;
}

main .sec_02 .mc {
	display: flex;
	flex-direction: row-reverse;
	gap: 3.636%;
	margin: 60px 0 0;
	padding: 70px 0 0;
	border-top: 1px solid rgba(255,255,255,0.3);
}

main .sec_02 .mc + .mc {
	margin: 80px 0 0;
}

main .sec_02 .lc {
	width: 49.454%;
	margin: -10px 0 0;
}

main .sec_02 .lc p {
	margin-top: 2em;
}

main .sec_02 .lc nav a {
	min-width: 330px;
	margin: 60px 0 0;
	font-size: 20px;
}

main .sec_02 figure {
	flex: 1;
}

main .sec_02 figure img {
	border-radius: 10px;
}

@media (max-width: 1100px) {
}

@media (max-width: 768px) {
	main .sec_02 {
		padding: 45px 0 50px;
	}

	main .sec_02 h2 + p {
		margin: 33px 0 0;
	}

	main .sec_02 .mc {
		display: block;
		margin: 23px 0 0;
		padding: 23px 0 0;
		border-top: 1px solid rgba(255,255,255,0.3);
	}

	main .sec_02 .mc + .mc {
		margin: 30px 0 0;
	}

	main .sec_02 .lc {
		width: 100%;
		margin: 23px 0 0;
	}

	main .sec_02 .lc nav a {
		min-width: 330px;
		margin: 60px 0 0;
		font-size: 20px;
	}

	main .sec_02 figure {
		margin: 23px 0 0;
	}

	main .sec_02 .lc nav a {
		min-width: 250px;
		margin: 30px 0 0;
		font-size: 14px;
	}
}