@charset "utf-8";

/* sec_main
--------------------*/
main .sec_main {
	position: relative;
	padding: 0 0 120px;
}

main .sec_main h2 {
	margin: 47px 0 0;
	color: #EAFF76;
	font-size: 28px;
	font-weight: 700;
	line-height: 38px;
	text-align: center;
}

main .sec_main h2 + p {
	margin: 12px 0 0;
	text-align: center;
}

main .sec_main p + p {
	text-align: center;
}

main .sec_main .wrap {
	display: flex;
	margin: 49px 0 0;
	background: url(/assets/img/common/bg_dot.png) repeat 50% 50%;
	background-size: 16px 16px;
	border-top: 2px solid #EAFF76;
	border-bottom: 2px solid #EAFF76;
}

main .sec_main .wrap + .wrap {
	margin: 28px 0 0;
}

main .sec_main .wrap .lc {
	width: calc((350 / 1024) * 100%);
	padding: calc((32 / 1024) * 100%);
}

main .sec_main .wrap .lc h3 em {
	display: block;
	padding: 0 0 0 36px;
	background: url(/assets/img/stamp_rally/bullet_01.svg) no-repeat 0 50%;
	background-size: 32px 32px;
	color: #ffffff;
	font-size: 34px;
	line-height: 1;
	letter-spacing: 0.05em;
}

main .sec_main .wrap .lc h3 span {
	display: block;
	margin: 11px 0 0 36px;
	color: #EAFF76;
	font-size: 20px;
	font-weight: 900;
	line-height: 30px;
	letter-spacing: 0.05em;
}

main .sec_main .wrap .rc {
	flex: 1;
	padding: calc((32 / 1024) * 100%);
	border-left: 2px solid #EAFF76;
}

main .sec_main .wrap .rc p {
	margin: -5px 0 0;
	color: #EAFF76;
	font-size: 20px;
	font-weight: 700;
	line-height: 30px;
}

main .sec_main .wrap .rc dl {
	margin: -4px 0 0;
}

main .sec_main .wrap .rc p + dl {
	margin: 7px 0 0;
}

main .sec_main .wrap .rc dt {
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
}

main .sec_main .wrap .rc dd {
	margin: 0;
	font-size: 16px;
	line-height: 24px;
}

main .sec_main .wrap .rc nav a {
	width: 160px;
	margin-top: 16px;
}

@media (max-width: 1024px) {
	main .sec_main .wrap .lc {
		width: calc((420 / 1024) * 100%);
	}
}

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

	main .sec_main h1 {
		margin: 0 20px;
	}

	main .sec_main h2 {
		margin: 27px -1em 0;
		font-size: 20px;
		line-height: 30px;
		letter-spacing: 0.05em;
	}

	main .sec_main h2 + p {
		margin: 10px 0 0;
	}

	main .sec_main p + p {
		margin: 10px 0 0;
	}

	main .sec_main .wrap {
		display: block;
		margin: 39px 0 0;
		padding: 20px;
		border: none;
	}

	main .sec_main .wrap + .wrap {
		margin: 20px 0 0;
	}

	main .sec_main .wrap .lc {
		width: 100%;
		padding: 0;
	}

	main .sec_main .wrap .lc h3 em {
		padding: 0 0 0 32px;
		background: url(/assets/img/stamp_rally/bullet_01.svg) no-repeat 0 50%;
		background-size: 26px 26px;
		font-size: 28px;
	}

	main .sec_main .wrap .lc h3 span {
		margin: 2px 0 0 32px;
		font-size: 18px;
		line-height: 30px;
	}

	main .sec_main .wrap .rc {
		flex: 1;
		margin: 10px 0 0;
		padding: 12px 0 0;
		border-top: 2px solid #EAFF76;
		border-left: none;
	}

	main .sec_main .wrap .rc p {
		margin: 0;
		font-size: 16px;
		line-height: 24px;
	}

	main .sec_main .wrap .rc dl {
		margin: 0;
	}

	main .sec_main .wrap .rc p + dl {
		margin: 7px 0 0;
	}

	main .sec_main .wrap .rc dt {
		font-size: 14px;
		line-height: 24px;
	}

	main .sec_main .wrap .rc dd {
		margin: 0;
		font-size: 14px;
		line-height: 24px;
	}

	main .sec_main .wrap .rc nav a {
		margin-top: 12px;
	}
}

/* sec_stamp_rally
--------------------*/
main .sec_stamp_rally {
	padding: 60px 0 0;
	border-top: 4px solid #2EFFD5;
}

main .sec_stamp_rally h3 {
	margin: 55px 0 0;
	font-size: 24px;
	font-weight: 700;
	line-height: 34px;
}

main .sec_desc {
	margin: 46px 0 0;
	padding: 49px 56px;
	background: url(/assets/img/common/bg_dot.png) repeat 50% 50%;
	background-size: 16px 16px;
	border-top: 2px solid #EAFF76;
	border-bottom: 2px solid #EAFF76;
}

main .sec_desc dl {
	display: flex;
}

main .sec_desc dl + dl {
	margin-top: 38px;
}

main .sec_desc dt {
	width: 9em;
	color: #EAFF76;
	font-size: 20px;
	font-weight: 700;
	line-height: 30px;
}

main .sec_desc dd {
	flex: 1;
}

main .sec_desc dd p {
	font-size: 16px;
	line-height: 30px;
}

main .sec_desc dd p + p {
	margin: 14px 0 0;
}

main .sec_desc dd p em {
	font-weight: 700;
}

main .sec_desc dd p span {
	display: block;
	margin: 4px 0 0;
	font-size: 14px;
	line-height: 24px;
}

main .sec_desc dd ul.c-note_01 {
	margin-top: 6px;
}

main .sec_desc dd .c-list_disc + .c-note_01 {
	margin-top: 16px;
}

main .sec_stamp_rally .wrap {
	display: flex;
	gap: 32px;
	margin: 60px 0 0;
}

main .sec_stamp_rally .wrap > div {
	width: calc((100% - 32px) / 2);
	padding: 0 32px 25px;
	background: url(/assets/img/common/bg_dot.png) repeat 50% 50%;
	background-size: 16px 16px;
}

main .sec_stamp_rally .wrap h3 {
	margin-top: -0.5em;
	color: #EAFF76;
	font-size: 58px;
	font-weight: 900;
	line-height: 1;
}

main .sec_stamp_rally .wrap figure {
	margin: 16px 0 0;
}

main .sec_stamp_rally .wrap dt {
	margin: 21px 0 0;
	font-size: 16px;
	font-weight: 900;
	line-height: 30px;
}

main .sec_stamp_rally .wrap dd {
	margin: 2px 0 0;
	font-size: 16px;
	line-height: 30px;
}

@media (max-width: 900px) {
	main .sec_stamp_rally .wrap h3 {
		font-size: 46px;
	}
}

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

	main .sec_stamp_rally h3 {
		margin: 35px 0 0;
		font-size: 18px;
		line-height: 28px;
	}

	main .sec_desc {
		margin: 23px 0 0;
		padding: 21px 20px 23px;
	}

	main .sec_desc dl {
		display: block;
	}

	main .sec_desc dl + dl {
		margin-top: 12px;
	}

	main .sec_desc dt {
		width: 100%;
		font-size: 16px;
		line-height: 30px;
	}

	main .sec_desc dd {
		padding: 4px 0 0;
	}

	main .sec_desc dd p {
		font-size: 14px;
		line-height: 24px;
	}

	main .sec_desc dd p + p {
		margin: 10px 0 0;
	}

	main .sec_desc dd p span {
		display: block;
		margin: 4px 0 0;
		padding: 0 0 2px;
		font-size: 12px;
		font-weight: 400;
		line-height: 20px;
	}

	main .sec_desc dd ul.c-note_01 {
		margin-top: 4px;
	}

	main .sec_desc dd .c-list_disc + .c-note_01 {
		margin-top: 8px;
	}

	main .sec_stamp_rally .wrap {
		display: block;
		margin: 40px 0 0;
	}

	main .sec_stamp_rally .wrap > div {
		width: 100%;
		padding: 0 20px 15px;
		background: url(/assets/img/common/bg_dot.png) repeat 50% 50%;
		background-size: 16px 16px;
	}

	main .sec_stamp_rally .wrap > div + div {
		margin: 28px 0 0;
	}

	main .sec_stamp_rally .wrap h3 {
		margin-top: 0;
		transform: translateY(-10px);
		font-size: 40px;
	}

	main .sec_stamp_rally .wrap figure {
		margin: 4px 0 0;
	}

	main .sec_stamp_rally .wrap dt {
		margin: 12px 0 0;
		font-size: 16px;
		line-height: 24px;
	}

	main .sec_stamp_rally .wrap dd {
		margin: 4px 0 0;
		font-size: 14px;
		line-height: 24px;
	}
}

/* sec_photo_spot
--------------------*/
main .sec_photo_spot {
	margin: 120px 0 0;
	padding: 60px 0 0;
	border-top: 4px solid #2EFFD5;
}

main .sec_photo_spot h2 + p {
	margin: 53px 0 0;
	font-size: 16px;
	line-height: 30px;
}

main .sec_photo_spot .sec_desc {
	margin: 60px 0 0;
}

main .sec_photo_spot .wrap {
	display: flex;
	gap: 32px;
	margin: 40px 0 0;
}

main .sec_photo_spot .wrap dl {
	padding: 26px 32px 32px;
	background: url(/assets/img/common/bg_dot.png) repeat 50% 50%;
	background-size: 16px 16px;
}

main .sec_photo_spot .wrap dt {
	margin: 0 0 26px;
	color: #EAFF76;
	font-size: 20px;
	font-weight: 500;
	line-height: 32px;
	text-align: center;
}

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

@media (max-width: 768px) {
	main .sec_photo_spot {
		margin: 60px 0 0;
		padding: 40px 0 0;
	}

	main .sec_photo_spot h2 + p {
		margin: 35px 0 0;
		font-size: 14px;
		line-height: 24px;
	}

	main .sec_photo_spot .sec_desc {
		margin: 40px 0 0;
	}

	main .sec_photo_spot .wrap {
		display: block;
		margin: 0;
	}

	main .sec_photo_spot .wrap dl {
		margin: 20px 0 0;
		padding: 13px 20px 20px;
	}

	main .sec_photo_spot .wrap dt {
		margin: 0 0 13px;
		font-size: 16px;
		line-height: 30px;
	}
}

/* sec_jack_train
--------------------*/
main .sec_jack_train {
	margin: 120px 0 0;
	padding: 60px 0 0;
	border-top: 4px solid #2EFFD5;
}

main .sec_jack_train h3 {
	margin: 55px 0 0;
	font-size: 32px;
	line-height: 42px;
}

main .sec_jack_train h3 + p {
	margin: 16px 0 0;
	font-size: 16px;
	line-height: 30px;
}

main .sec_jack_train .sec_desc {
	margin: 49px 0 0;
}

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

@media (max-width: 768px) {
	main .sec_jack_train {
		margin: 60px 0 0;
		padding: 40px 0 0;
	}

	main .sec_jack_train h3 {
		margin: 35px 0 0;
		font-size: 28px;
		line-height: 38px;
	}

	main .sec_jack_train h3 + p {
		margin: 10px 0 0;
		font-size: 14px;
		line-height: 24px;
	}

	main .sec_jack_train .sec_desc {
		margin: 23px 0 0;
	}
}

/* .c-sec_link
--------------------*/
main .c-sec_link {
	margin: 0;
	padding: 120px 0;
	border-top: none;
}

main .c-sec_link ul {
	margin: 0;
}

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

@media (max-width: 768px) {
	main .c-sec_link {
		padding: 60px 0;
	}
}

