@charset "utf-8";

/* sec_main
--------------------*/
main .sec_main {
	position: relative;
	height: 100vh;
	border-bottom: 4px solid #2EFFD5;
}

main .sec_main .wrap {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
}

main .sec_main figure {
	padding: 28px 76px 0;
	text-align: center;
}

main .sec_main figure img {
	width: auto;
	max-width: 100%;
	max-height: calc(100vh - 28px - 48px);
}

main .sec_main figure + div {
	margin: 0 auto;
}

main .sec_main p {
	margin: -3px 0;
	padding: 20px 0;
	color: #2EFFD5;
	font-size: 10px;
	font-style: italic;
	line-height: 16px;
	text-align: right;
}

main .sec_main p span {
	display: inline-block;
	font-weight: 500;
}

@media (min-width: 769px) and (max-width: 1024px) {
	main .sec_main {
		height: auto !important;
	}

	main .sec_main .wrap {
		position: static;
		transform: none;
	}
}

@media (max-width: 768px) {
main .sec_main .wrap {
		position: static;
		transform: none;
}

	main .sec_main figure {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translate(-50%,0);
		width: 100%;
		padding-top: 44px;
		padding-left: 6px;
		padding-right: 6px;
	}

	main .sec_main figure img {
		max-height: calc(100vh - 44px - 120px);
	}

	main .sec_main .wrap figure + div {
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100% !important;
		min-height: 110px;
		margin: 0;
	}

	main .sec_main p {
		display: flex;
		align-items: center;
		width: 100%;
		height: 100%;
		margin: 0;
		padding: 0 0 2px 12px;
		border-top: 4px solid #2EFFD5;
		font-size: 10px;
		line-height: 20px;
		text-align: left;
	}

	main .sec_main .scroll {
		display: flex;
		justify-content: center;
		align-items: center;
		position: absolute;
		right: 0;
		bottom: 0;
		width: 52px;
		height: 100%;
		padding: 4px 0 0;
		border-left: 4px solid #2EFFD5;
		text-align: center;
	}
}

/* sec_desc
--------------------*/
main .sec_desc {
	margin: 20px ;
	padding-top: calc((70 / 1400) * 100%);
	padding-bottom: calc((78 / 1400) * 100%);
	background: url(/assets/img/common/bg_dot.png) repeat 50% 50%;
	background-size: 16px 16px;
}

main .sec_desc .wrap {
	display: flex;
	align-items: center;
}

main .sec_desc .wrap figure {
	width: calc((700 / 1360) * 100%);
	padding-left: calc((70 / 1360) * 100%);
	padding-right: calc((70 / 1360) * 100%);
	text-align: center;
}

main .sec_desc .wrap figure img {
	max-width: 487px;
}

main .sec_desc .wrap div {
	flex: 1;
	padding-right: calc((48 / 1360) * 100%);
}

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

main .sec_desc .wrap p + p {
	margin: 22px 0 0;
}

main .sec_desc .wrap nav {
	margin: 20px 0 0;
}

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

@media (max-width: 768px) {
	main .sec_desc {
		margin: 16px ;
		padding-top: 40px;
		padding-bottom: 40px;
	}

	main .sec_desc .wrap {
		display: block;
		padding: 0 20px;
	}

	main .sec_desc .wrap figure {
		width: 267px;
		margin: 0 auto;
		padding: 0;
	}

	main .sec_desc .wrap div {
		margin-top: 36px;
		padding-right: 0;
	}

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

	main .sec_desc .wrap p + p {
		margin: 22px 0 0;
	}

	main .sec_desc .wrap nav {
		margin: 20px 0 0;
	}
}

/* sec_index
--------------------*/
main .sec_index {
	border-top: 4px solid #2EFFD5;
	border-bottom: 4px solid #2EFFD5;
}

main .sec_index .wrap {
	position: relative;
	display: flex;
	align-items: stretch;
	height: 100%;
}

main .sec_index .wrap .lc {
	width: calc((1016 / 1400) * 100%);
	padding-top: calc((120 / 1400) * 100%);
	padding-right: calc((40 / 1400) * 100%);
	padding-bottom: calc((100 / 1400) * 100%);
	padding-left: calc((80 / 1400) * 100%);
	background: url(/assets/img/index/bg_01.png) no-repeat 50% 100%;
	background-size: 100% auto;
	border-right: 4px solid #2EFFD5;
}

main .sec_index .wrap .lc ul li + li {
	margin: 32px 0 0;
}

main .sec_index .wrap .lc ul li a {
	display: block;
	width: fit-content;
	padding: 12px 20px 10px 7px;
	color: #ffffff;
	text-decoration: none !important;
}

main .sec_index .wrap .lc ul li a:hover {
	color: #2EFFD5;
}

main .sec_index .wrap .lc ul li dl {
	display: flex;
	align-items: center;
	gap: 50px;
}

main .sec_index .wrap .lc ul li dt img:nth-of-type(2) {
	left: -1.5px;
}

main .sec_index .wrap .lc ul li dd {
	display: flex;
	align-items: center;
	gap: 20px;
}

main .sec_index .wrap .lc ul li dd em {
	font-size: 40px;
	letter-spacing: 0.05em;
	line-height: 1;
}

main .sec_index .wrap .lc ul li dd span {
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
}

main .sec_index .wrap .rc {
	flex: 1;
	flex-grow: 1;
	display: flex;
  justify-content: space-between;
  align-items: center;
	overflow: hidden;
}

main .sec_index .wrap .rc .col {
  position: relative;
  width: 33.333%;
  height: 100%;
  overflow: hidden;
}

main .sec_index .wrap .rc .img-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

main .sec_index .wrap .rc .img-wrap img {
  display: block;
  width: 100%;
  height: auto;
}

main .sec_index .wrap nav {
	position: absolute;
	left: calc((734 / 1400) * 100%);
	bottom: 0;
	width: 200px;
	padding-bottom: calc((120 / 1400) * 100%);
}

main .sec_index .wrap nav img:nth-of-type(1) {
	opacity: 1;
}

@media (max-width: 1140px) {
	main .sec_index .wrap nav {
		left: inherit;
		right: 20%;
	}
}

@media (max-width: 1024px) {
	main .sec_index .wrap .lc ul li dl {
		align-items: normal;
	}

	main .sec_index .wrap .lc ul li dt {
		margin: 2px 0 0;
	}

	main .sec_index .wrap .lc ul li dd {
		flex-direction: column;
		align-items: normal;
		gap: 5px;
	}
}

@media (max-width: 768px) {
	main .sec_index .wrap .lc {
		width: calc((270 / 375) * 100%);
		padding-top: 32px;
		padding-right: 0;
		padding-bottom: 140px;
		padding-left: calc((80 / 1400) * 100%);
		background: url(/assets/img/index/bg_01_sp.png) no-repeat 50% 100%;
		background-size: 100% auto;
	}

	main .sec_index .wrap .lc ul li + li {
		margin: 4px 0 0;
	}

	main .sec_index .wrap .lc ul li a {
		padding: 12px 0;
	}

	main .sec_index .wrap .lc ul li a:hover {
		background: none;
		color: #ffffff;
	}

	main .sec_index .wrap .lc ul li dl {
		gap: 12px;
	}

	main .sec_index .wrap .lc ul li dt {
		margin: 1px 0 0;
	}

	main .sec_index .wrap .lc ul li dd em {
		font-size: 28px;
	}

	main .sec_index .wrap .lc ul li dd span {
		font-size: 12px;
	}

	main .sec_index .wrap .rc .col.left,
	main .sec_index .wrap .rc .col.right {
		width: calc((58 / 228) * 100%);
	}

	main .sec_index .wrap .rc .col.center {
		width: calc((112 / 228) * 100%);
	}

	main .sec_index .wrap nav {
		position: absolute;
		left: inherit;
		right: 36px;
		bottom: 36px;
		padding-bottom: 0;
	}

	main .sec_index .wrap nav img:nth-of-type(2) {
		opacity: 1;
	}
}

/* sec_news
--------------------*/
main .sec_news {
	padding-top: calc((20 / 1400) * 100%);
	padding-bottom: calc((88 / 1400) * 100%);
}

main .sec_news .wrap {
	display: flex;
	align-items: top;
}

main .sec_news .h {
	width: calc((525 / 1400) * 100%);
	/*padding-top: calc((120 / 1400) * 100%);*/
	padding-top: calc((110 / 1400) * 100%);
	padding-left: calc((80 / 1400) * 100%);
	padding-right: calc((40 / 1400) * 100%);
}

main .sec_news h2 img {
	max-width: 100%;
}

main .sec_news h2 span {
	display: block;
	margin: 14px 0 0;
	color: #EAFF76;
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
}

main .sec_news .rc {
	flex: 1;
	padding-top: calc((60 / 1400) * 100%);
	padding-right: calc((40 / 1400) * 100%);
}

main .sec_news .rc .news {
	padding-top: calc((42 / 846) * 100%);
	padding-right: calc((60 / 846) * 100%);
	padding-bottom: calc((25 / 846) * 100%);
	padding-left: calc((60 / 846) * 100%);
	background: url(/assets/img/common/bg_dot.png) repeat 50% 50%;
	background-size: 16px 16px;
}

main .sec_news .rc .news ul {
	padding: 0 0 23px;
}

main .sec_news .rc .news .more ul {
	margin-top: -7px;
	padding-bottom: calc((17 / 846) * 100%);
}

main .sec_news .rc .news li + li {
	margin: 16px 0 0;
}

main .sec_news .rc .news dl {
	display: flex;
	gap: 6%;
}

main .sec_news .rc .news dt {
	width: 5em;
	color: #FF415B;
	font-size: 20px;
	line-height: 30px;
}

main .sec_news .rc .news dd {
	flex: 1;
	font-size: 16px;
	line-height: 30px;
}

main .sec_news .rc .news .more {
	display: none;
}

main .sec_news .c-nav_01 {
	margin: 30px auto 0;
}

main .sec_news .c-nav_01 a {
	justify-content: center;
	width: 480px;
	height: 110px;
	padding: 0;
	border: 2px solid #ffffff;
	color: #ffffff;
	font-size: 20px;
	text-align: center;
}

main .sec_news .c-nav_01:after {
	width: 480px;
	height: 110px;
	background: #ffffff;
}

main .sec_news .c-nav_01 a img.x {
	margin-right: 15px;
}

main .sec_news .c-nav_01 a img.bg_01 {
	position: absolute;
	left: -30px;
	bottom: -22px;
}

main .sec_news .c-nav_01 a img.bg_02 {
	position: absolute;
	top: -34px;
	right: -48px;
}

main .sec_news .c-nav_01 a .blank {
	background: url(/assets/img/common/bullet_blank_w.svg) no-repeat 50% 50%;
	background-size: 15px 15px;
}

@media (max-width: 1024px) {
	main .sec_news {
		padding-top: calc((60 / 1024) * 100%);
		padding-bottom: calc((128 / 1024) * 100%);
	}

	main .sec_news .wrap {
		display: block;
	}

	main .sec_news .h {
		width: fit-content;
		margin: 0 auto;
		padding: 0;
		text-align: center;
	}

	main .sec_news .rc {
		margin-top: calc((35 / 1024) * 100%);
		padding-top: 0;
		padding-left: calc((20 / 1024) * 100%);
		padding-right: calc((20 / 1024) * 100%);
	}
}

@media (max-width: 768px) {
	main .sec_news {
		padding-top: 52px;
		padding-bottom: 90px;
	}

	main .sec_news h2 img {
		width: 156px;
	}

	main .sec_news h2 span {
		margin: 10px 0 0;
		font-size: 14px;
	}

	main .sec_news .rc {
		margin-top: 32px;
		padding-left: 16px;
		padding-right: 16px;
	}

	main .sec_news .rc .news {
		padding-top: 28px;
		padding-right: 20px;
		padding-bottom: 28px;
		padding-left: 20px;
	}

	main .sec_news .rc .news ul {
		padding: 0 0 19px;
	}

	main .sec_news .rc .news .more ul {
		margin-top: -1px;
		padding-bottom: 0;
	}

	main .sec_news .rc .news li + li {
		margin: 18px 0 0;
	}

	main .sec_news .rc .news dl {
		display: block;
	}

	main .sec_news .rc .news dd {
		margin: 2px 0 0;
		font-size: 14px;
		line-height: 24px;
	}

	main .sec_news .rc .news .more {
		display: none;
	}

	main .sec_news .c-nav_01 {
		width: fit-content;
		margin: 30px auto 0;
	}

	main .sec_news .c-nav_01 a {
		width: 310px;
		height: 80px;
		font-size: 14px;
	}

	main .sec_news .c-nav_01:after {
		width: 310px;
		height: 80px;
	}

	main .sec_news .c-nav_01 a img.x {
		width: 28px;
		margin-right: 7px;
	}

	main .sec_news .c-nav_01 a img.bg_01 {
		position: absolute;
		left: -24px;
		bottom: -30px;
		width: 108px;
	}

	main .sec_news .c-nav_01 a img.bg_02 {
		position: absolute;
		top: -33px;
		right: -37px;
		width: 138px;
	}

	main .sec_news .c-nav_01 a .blank {
		background: url(/assets/img/common/bullet_blank_w.svg) no-repeat 50% 50%;
		background-size: 12px 12px;
	}
}