/* Common */
.sec-title {
	font-size: 4.8rem;
	line-height: 1;
}

.sec-text {
	font-size: 2.2rem;
}

.sec-btn {
	display: flex;
	align-items: center;
	gap:20px;
	position: absolute;
	top:50%;
	right:0;
	transform: translateY(-50%);
	font-size:2rem;
}

.sec-btn::after {
	content: "";
	display: block;
	width:40px;
	height:35px;
	background: url('/asset/img/main/sec00_btn01.png') no-repeat center;
}

.sec-btn--point::after {
	background-image: url('/asset/img/main/sec00_btn02.png');
}


@media (min-width:1201px) {
	
}
@media (max-width:1536px) {

}
@media (max-width:1366px) {

}
@media (max-width:1280px) {

}
@media (max-width:1200px) {
	.sec-title {
		font-size: 4.2rem;
	}
	
	.sec-text {
		font-size: 2rem;
	}

	.sec-btn {
		font-size:1.8rem;
	}

	.sec-btn::after {
		width:35px;
		height:31px;
		background-size: auto 31px;
	}
}
@media (max-width:1024px) {
	.sec-btn {
		gap:16px;
	}
}
@media (max-width:768px) {
	.sec-title {
		font-size: 3.6rem;
	}
	
	.sec-text {
		font-size: 1.8rem;
	}

	.sec-btn {
		gap:10px;
		font-size:1.6rem;
	}

	.sec-btn::after {
		width:35px;
		height:27px;
		background-size: auto 27px;
	}
}
@media (max-width:576px) {
	.sec-title {
		font-size: 2.8rem;
	}
	
	.sec-text {
		font-size: 1.6rem;
	}

	.sec-btn {
		position: relative;
		top:unset;
		right: unset;
		transform: none;
		margin-top:16px;
		font-size:1.5rem;
	}

	.sec-btn::after {
		width:30px;
		height:25px;
		background-size: auto 25px;
	}
}


/* Sec01 */
.sec01 {
	position: relative;
	width:100%;
}

.sec01 .visual {
	position: relative;
}

.sec01 .cont {
	display: flex;
	justify-content: flex-end;
	position: absolute;
	left:50%;
	bottom:-90px;
	transform: translateX(-50%);
	max-width:1530px;
	width:100%;
	margin:0 auto;
	padding:0px 15px;
	z-index:10;
}

.sec01 .link {
	display: block;
	position: relative;
	max-width:510px;
	width:100%;
	padding:60px;
	border-radius: 20px;
	background-color: #003189;
	overflow: hidden;
}

.sec01 .icon {
	position: absolute;
	top:0;
	right:0;
	padding:25px;
	background-color: #fff;
}

.sec01 .icon img {
	transition:all .4s ease;
}

.sec01 .txt .t01 {
	font-size:3.2rem;
	line-height:1;
	margin-bottom:30px;
}

.sec01 .txt .t02 {
	font-size:2.2rem;
}

.sec01 .bg {
	position: relative;
	width: 100%;
	height:0;
	padding-top: calc(700/1920*100%);
	overflow: hidden;
}

.sec01 .bg img.bg_pc {
	display: block;
	position: absolute;
	top:0;
	left:0;
	right:0;
	width:100%;
	height:100%;
	object-fit: cover;
	scale: 1.1;
	/* transform: scale(1.1); */
	animation: img-scale 2s ease-out forwards;
}

.sec01 .bg img.bg_mo {
	display: none;
	scale: 1.1;
	animation: img-scale 2s ease-out forwards;
}

@media (min-width:1201px) {
	.sec01 .link:hover .icon img {
		transform: rotate(180deg);
	}
}
@media (max-width:1536px) {

}
@media (max-width:1366px) {

}
@media (max-width:1280px) {
}
@media (max-width:1200px) {
	.sec01 .link {
		padding:50px;
	}

	.sec01 .txt .t01 {
		font-size:2.6rem;
		margin-bottom:24px;
	}

	.sec01 .txt .t02 {
		font-size:2rem;
	}

	.sec01 .icon {
		padding:20px;
	}

	.sec01 .icon img {
		width:24px;
	}
}
@media (max-width:1024px) {
	.sec01 .cont {
		display: block;
		bottom:-70px;
	}

	.sec01 .link {
		max-width:100%;
		padding:40px;
	}

	.sec01 .txt .t01 {
		margin-bottom:20px;
	}

	.sec01 .icon {
		padding:16px;
	}

	.sec01 .icon img {
		width:20px;
	}
}
@media (max-width:768px) {
	.sec01 .visual {
		height:560px;
	}

	.sec01 .txt .t01 {
		font-size:2.2rem;
	}

	.sec01 .txt .t02 {
		font-size: 1.8rem;
	}

	.sec01 .bg {
		height:100%;
		padding-top:0px;
	}

	.sec01 .bg img.bg_pc {
		display: none;
	}

	.sec01 .bg img.bg_mo {
		display: block;
		position: absolute;
		top:50%;
		left:50%;
		transform: translate(-50%,-50%);
		width: 100%;
	}
}
@media (max-width:576px) {
	.sec01 .visual {
		height:420px;
	}

	.sec01 .link {
		padding:24px;
		border-radius: 10px;
	}

	.sec01 .cont {
		bottom:-40px;
	}

	.sec01 .txt .t01 {
		font-size: 2rem;
		margin-bottom:10px;
	}

	.sec01 .txt .t02 {
		font-size:1.6rem;
	}

	.sec01 .icon {
		padding:10px;
	}

	.sec01 .icon img {
		width:14px;
	}
}


/* Sec02 */
.sec02 {
	position: relative;
	padding:150px 0px;
}

.sec02::after {
	content: "";
	display: block;
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height: calc(100% + 400px);
	background-color: #e5eaf3;
	z-index:-1;
}

.sec02 .lt {
	position: relative;
	width: 43%;
	overflow: hidden;
	z-index:10;
}

.sec02 .rt {
	position: relative;
	width: 37.5%;
}

.sec02 .rt::before {
	content: "";
	display: block;
	position: absolute;
	top:0;
	left:-100%;
	width: 100%;
	height:100%;
	background-color:#e5eaf3;
	z-index:2;
}

.sec02 .swiper {
	position: relative;
	width:100%;
	height:100%;
}

.sec02 .swiper--big {
	border-top-right-radius: 20px;
	border-bottom-right-radius:20px;
	overflow: hidden;
}

.sec02 .swiper--small {
	transform: translateX(-51.1667%);
}

.sec02 .swiper-wrapper {
	height:100%;
}

.sec02 .swiper-slide {
	height: 100%;
	overflow: hidden;
}
.sec02 .swiper-slide .img{
	aspect-ratio: 1/0.671;
}
.sec02 .swiper-slide .img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sec02 .bbs {
	gap:60px;
}

.sec02 .block01 {
	padding-top:30px;
}

.sec02 .controls {
	display: flex;
	align-items: center;
	gap:30px;
	font-size:1.8rem;
}

.sec02 .controls .pagination {
	display: flex;
	align-items: center;
	gap:10px;
	width:80px;
}

.sec02 .controls .pagination span {
	display: block;
}

.sec02 .controls .pagination .swiper-pagination-current {
	color:#003189;
}

.sec02 .controls .pagination i {
	display: block;
	font-style: normal;
	font-size:1.6rem;
}

.sec02 .controls .arrows {
	display: flex;
	align-items: center;
	gap:10px;
}

.sec02 .controls .arrows .prev,
.sec02 .controls .arrows .next {
	width: 60px;
	height:60px;
	border-radius:50%;
	background-color: #fff;
	z-index:20;
	cursor: pointer;
	background-repeat:no-repeat;
	background-position:center;
}

.sec02 .controls .arrows .prev {
	background-image: url('/asset/img/main/sec00_prev01.png');
}

.sec02 .controls .arrows .next {
	background-image: url('/asset/img/main/sec00_next01.png');
}

.sec02 .controls .arrows .prev.swiper-button-disabled,
.sec02 .controls .arrows .next.swiper-button-disabled {
	opacity:.5;
}

.sec02 img {
	width: 100%;
}


@media (max-width:1536px) {

}
@media (max-width:1366px) {
	.sec02 .block01 {
		padding-top: 20px;
	}
}
@media (max-width:1280px) {

}
@media (max-width:1200px) {
	.sec02 .bbs {
		gap:40px;
	}

	.sec02 .block01 {
		padding-top:0px;
	}
	
	.sec02 .controls {
		gap:20px;
		font-size:1.6rem;
	}

	.sec02 .controls .arrows .prev, .sec02 .controls .arrows .next {
		width:48px;
		height:48px;
		background-size: auto 16px;
	}
}
@media (max-width:1024px) {
	.sec02 {
		padding:120px 0px;
	}

	.sec02 .intro {
		padding:0px 15px;
	}

	.sec02 .lt {
		width: 100%;
	}

	.sec02 .rt {
		width: 100%;
		margin-top:40px;
		overflow: hidden;
	}

	.sec02 .swiper--big {
		border-radius: 20px;
	}

	.sec02 .swiper--small {
		transform: none;
		/* transform: translateX(-33.7%); */
	}

	.sec02 .block02 {
		padding:20px 0px;
	}

	.sec02 .controls .arrows .prev, .sec02 .controls .arrows .next {
		width:40px;
		height:40px;
		background-size: auto 12px;
	}
}
@media (max-width:768px) {
	.sec02 {
		padding:100px 0px;
	}

	.sec02 .controls {
		font-size:1.5rem;
	}

	.sec02 .controls .arrows {
		gap:6px;
	}

	.sec02 .controls .pagination {
		gap:6px;
	}
}
@media (max-width:576px) {
	.sec02 {
		padding:80px 0px;
	}

	.sec02::after {
		height: calc(100% + 320px);
	}

	.sec02 .rt {
		margin-top:24px;
	}

	.sec02 .swiper--small {
		transform: none;
		/* transform: translateX(-51%); */
	}

	.sec02 .block02 {
		padding:16px 0px;
	}

	.sec02 .controls {
		gap:10px;
		font-size:1.4rem;
	}
	
	.sec02 .controls .arrows {
		gap:4px;
	}

	.sec02 .controls .arrows .prev, .sec02 .controls .arrows .next {
		width:32px;
		height:32px;
		background-size: auto 10px;
	}

	.sec02 .controls .pagination {
		gap:4px;
	}
}


/* Sec03 */
.sec03 {
	position: relative;
	padding:150px 0px;
}

.sec03::after {
	content: "";
	display: block;
	position: absolute;
	top:110px;
	right:-15%;
	width:854px;
	height:290px;
	background: url('/asset/img/main/sec03_bak.png') no-repeat center;
	z-index:-1;
	opacity:0;
	transition:all 1s ease;
}

.sec03 ul {
	display: flex;
	gap:20px;
}

.sec03 li {
	flex:1 1;
}

.sec03 a {
	display: block;
	position: relative;
	width: 100%;
	height:0;
	padding-top: calc(193/193*100%);
	border-radius:50%;
	background-color: #fff;
	overflow: hidden;
	box-shadow:0px 0px 10px rgba(160,160,160,.2);
	transition: all .5s;
}

.sec03 .card {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	width:100%;
	height:100%;
	padding:0px 30px 0px;
	text-align: center;
}

.sec03 .icon {
	display: block;
	margin:0 auto;
	width:58px;
	height:51px;
	background-repeat: no-repeat;
	background-position: center;
}

.sec03 .icon01 {
	background-image: url('/asset/img/main/sec03_ico01_off.png');
}

.sec03 .icon02 {
	background-image: url('/asset/img/main/sec03_ico02_off.png');
}

.sec03 .icon03 {
	background-image: url('/asset/img/main/sec03_ico03_off.png');
}

.sec03 .icon04 {
	background-image: url('/asset/img/main/sec03_ico04_off.png');
}

.sec03 .icon05 {
	background-image: url('/asset/img/main/sec03_ico05_off.png');
}

.sec03 .icon06 {
	background-image: url('/asset/img/main/sec03_ico06_off.png');
}

.sec03 .icon07 {
	background-image: url('/asset/img/main/sec03_ico07_off.png');
}

.sec03 .txt {
	font-size:1.8rem;
	margin-top:16px;
}

.sec03.on::after {
	opacity:1;
	right: 0;
}

@media (min-width:1201px) {
	.sec03 li:hover a {
		background-color: #ec4115;
		box-shadow:0px 0px 10px rgba(160,160,160,.8);
	}

	.sec03 li:hover .icon01 {
		background-image: url('/asset/img/main/sec03_ico01_on.png');
	}

	.sec03 li:hover .icon02 {
		background-image: url('/asset/img/main/sec03_ico02_on.png');
	}

	.sec03 li:hover .icon03 {
		background-image: url('/asset/img/main/sec03_ico03_on.png');
	}

	.sec03 li:hover .icon04 {
		background-image: url('/asset/img/main/sec03_ico04_on.png');
	}

	.sec03 li:hover .icon05 {
		background-image: url('/asset/img/main/sec03_ico05_on.png');
	}

	.sec03 li:hover .icon06 {
		background-image: url('/asset/img/main/sec03_ico06_on.png');
	}

	.sec03 li:hover .icon07 {
		background-image: url('/asset/img/main/sec03_ico07_on.png');
	}

	.sec03 li:hover .txt {
		color:#fff;
	}
}
@media (max-width:1536px) {

}
@media (max-width:1366px) {

}
@media (max-width:1280px) {

}
@media (max-width:1200px) {
	.sec03::after {
		top:160px;
		width:704px;
		height:240px;
		background-size:auto 240px;
	}

	.sec03 ul {
		gap:12px;
	}

	.sec03 .icon {
		height:41px;
		background-size:auto 41px;
	}

	.sec03 .txt {
		font-size:1.6rem;
		margin-top:10px;
	}
}
@media (max-width:1024px) {
	.sec03 {
		padding:120px 0px;
	}

	.sec03::after {
		top:200px;
		width:594px;
		height:200px;
		background-size:auto 200px;
	}
	
	.sec03 ul {
		flex-wrap: wrap;
	}

	.sec03 li {
		flex:1 0 calc(25% - 12px);
		max-width:calc(25% - 12px);
	}

	.sec03 .card {
		padding: 0px 20px;
	}
}
@media (max-width:768px) {
	.sec03 {
		padding:100px 0px;
	}

	.sec03::after {
		top:240px;
		width:474px;
		height:160px;
		background-size:auto 160px;
	}

	.sec03 li {
		flex:1 0 calc(33.33% - 12px);
		max-width:calc(33.33% - 6px);
	}
	
	.sec03 a {
		height:140px;
		padding-top:0px;
		border-radius:20px;
	}

	.sec03 .icon {
		height:35px;
		background-size: auto 35px;
	}

	.sec03 .txt {
		font-size:1.5rem;
		line-height:1.2;
	}
}
@media (max-width:576px) {
	.sec03 {
		padding:80px 0px;
	}

	.sec03::after {
		width:224px;
		height:80px;
		background-size:auto 80px;
	}

	.sec03 ul {
		gap:8px;
	}

	.sec03 li {
		flex:1 0 calc(50% - 8px);
		max-width:calc(50% - 4px);
	}

	.sec03 a {
		height:100px;
	}

	.sec03 .card {
		padding:0px 20px;
	}

	.sec03 .icon {
		height:29px;
		background-size: auto 29px;
	}

	.sec03 .txt {
		font-size:1.4rem;
	}
}


/* Sec04 */
.sec04 {
	position: relative;
	padding:150px 0px;
	background-color: #003189;
	overflow: hidden;
}

.sec04::after {
	content: "";
	display: block;
	position: absolute;
	right:-250px;
	bottom:-70px;
	width:890px;
	height:892px;
	background: url('/asset/img/main/sec04_bak.png') no-repeat center;
	pointer-events: none;
}

.sec04 .pagination {
	position: relative;
	width:100%;
	height:5px;
	margin-top:30px;
	border-radius:10px;
	background-color: #335aa1;
}

.sec04 .swiper-pagination-progressbar-fill {
	border-radius:10px;
	background-color: #fff;
}

.sec04 .tab-menu {
	display: flex;
	gap:10px;
}

.sec04 .tab-menu .button {
	display:inline-flex;
	align-items: center;
	justify-content: center;
	width:80px;
	height:40px;
	border-radius:10px;
	background-color: #ffffff;
	font-size:1.8rem;
	line-height:1;
	color:#999999;
}

.sec04 .tab-menu li.on .button {
	font-weight:700;
	color:#fff;
	background-color: #f96f4b;
}

.sec04 .tab-con > li {
	display: none;
}

.sec04 .tab-con > li.on {
	display: block;
}

.sec04 .tab-con .card {
	padding:40px;
	border-radius:20px;
	background-color: #fff;
	transition:all .5s;
}

.sec04 .tab-con .category {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 25px;
	margin-bottom:20px;
	border-radius:5px;
	background-color: #003189;
	font-style: normal;
	font-size: 1.6rem;
	color:#fff;
	transition:all .5s;
}

.sec04 .tab-con .subject {
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp:3;
	-webkit-box-orient: vertical;
	height: 120px;
	font-size:2.6rem;
	line-height:1.5;
	transition:all .5s;
}

.sec04 .tab-con .data {
	display: block;
	margin-top:100px;
	padding-top:20px;
	border-top: 1px solid #bfbfbf;
	font-size:2.6rem;
	line-height:1;
	transition:all .5s;
}

@media (min-width:1201px) {
	.sec04 .tab-con .swiper-slide a:hover .card {
		background-color: #f96f4b;
	}

	.sec04 .tab-con .swiper-slide a:hover .category {
		color:#003189;
		background-color: #fff;
	}

	.sec04 .tab-con .swiper-slide a:hover .subject {
		color:#fff;
	}

	.sec04 .tab-con .swiper-slide a:hover .data {
		color:#fff;
		border-color: #fff;
	}
}
@media (max-width:1536px) {

}
@media (max-width:1366px) {

}
@media (max-width:1280px) {

}
@media (max-width:1200px) {
	.sec04::after {
		height:792px;
		background-size:auto 792px;
	}

	.sec04 .tab-menu .button {
		width:60px;
		height:32px;
		font-size:1.6rem;
	}

	.sec04 .tab-con .category {
		font-size: 1.5rem;
	}

	.sec04 .tab-con .subject {
		height:100px;
		font-size:2.2rem;
	}

	.sec04 .tab-con .data {
		margin-top:80px;		
		font-size:2.2rem;
	}
}
@media (max-width:1024px) {
	.sec04 {
		padding:120px 0px;
	}

	.sec04::after {
		height:592px;
		background-size:auto 592px;
	}

	.sec04 .tab-con {
		overflow: hidden;
	}

	.sec04 .tab-con .card {
		padding:30px;
	}

	.sec04 .tab-con .category {
		margin-bottom:10px;
	}

	.sec04 .tab-con .data {
		margin-top:60px;
		padding-top:10px;
	}

	.sec04 .pagination {
		height:3px;
		margin-top:20px;
	}
}
@media (max-width:768px) {
	.sec04 {
		padding:100px 0px;
	}

	.sec04::after {
		height:392px;
		background-size:auto 392px;
	}

	.sec04 .tab-menu {
		gap:6px;
	}

	.sec04 .tab-menu .button {
		height:30px;
		font-size:1.5rem;
	}

	.sec04 .tab-con .card {
		padding:24px;
	}

	.sec04 .tab-con .category {
		width:48px;
		height:22px;
		font-size:1.4rem;
	}

	.sec04 .tab-con .subject {
		height:90px;
		font-size:2rem;
	}

	.sec04 .tab-con .data {
		font-size:2rem;
	}
}
@media (max-width:576px) {
	.sec04 {
		padding:80px 0px;
	}

	.sec04::after {
		width:630px;
		height:292px;
		background-size:auto 292px;
	}

	.sec04 .tab-menu {
		gap:4px;
	}

	.sec04 .tab-menu .button {
		width: 48px;
		height:26px;
		border-radius:6px;
		font-size:1.4rem;
	}

	.sec04 .tab-con .card {
		padding:20px;
	}

	.sec04 .tab-con .category {
		width:44px;
		height:20px;
		margin-bottom:6px;
		font-size:1.2rem;
	}

	.sec04 .tab-con .subject {
		height:80px;
		font-size:1.8rem;
	}

	.sec04 .tab-con .data {
		margin-top:40px;
		font-size:1.8rem;
	}
}


/* Sec05 */
.sec05 {
	max-width:1920px;
	width:100%;
	margin:0  auto;
	padding:150px 0px 0px;
}

.sec05 .schedule {
	position: relative;
	padding-top:160px;
	padding-bottom:60px;
}

.sec05 .container {
	position: relative;
}

.sec05 .schedule::before {
	content: "";
	display: block;
	position: absolute;
	top:0;
	right:0;
	width:100%;
	height:100%;
	background-color: #fff;
	z-index:-1;
	transition:all 1.75s ease-out;
}

.sec05 .schedule::after {
	content:"";
	display: block;
	position: absolute;
	top:0;
	left:0;
	max-width:1202px;
	width:100%;
	height:600px;
	background: url('/asset/img/main/sec05_bak.png') no-repeat center;
	z-index:-2;
}

.sec05 .rt {
	position: absolute;
	top:-30px;
	right: -15%;
	width: 83%;
	overflow-x: hidden;
	/* overflow: hidden; */
}

.sec05 .btn {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	position: relative;
	width:140px;
	height:124px;
	background: url('/asset/img/main/sec00_btn04.png') no-repeat center;
	transition: all .5s;
}

.sec05 .controls {
	display: flex;
	align-items: center;
	gap:20px;
	margin-top:160px;
	font-size:1.8rem;
	line-height: 1;
	color:#aaaaaa;
}

.sec05 .controls--mo {
	display: none;
}

.sec05 .controls .pagination {
	display: flex;
	align-items: center;
	gap:10px;
	width:80px;
}

.sec05 .controls .pagination span {
	display: block;
}

.sec05 .controls .pagination .swiper-pagination-current {
	color:#003189;
}

.sec05 .controls .pagination i {
	display: block;
	font-style: normal;
	font-size:1.6rem;
}

.sec05 .controls .arrows {
	display: flex;
	align-items: center;
	gap:20px;
}

.sec05 .controls .arrows .prev,
.sec05 .controls .arrows .next {
	width:27px;
	height:18px;
	background-repeat: no-repeat;
	background-position: center;
	cursor: pointer;
}

.sec05 .controls .arrows .prev {
	background-image: url('/asset/img/main/sec00_prev02.png');
}

.sec05 .controls .arrows .next {
	background-image: url('/asset/img/main/sec00_next02.png');
}

.sec05 .controls .arrows .prev.swiper-button-disabled,
.sec05 .controls .arrows .next.swiper-button-disabled {
	opacity: .5;
}

.sec05 .swiper-slide {
	transition:all .5s;
}

.sec05 .card {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	position: relative;
	padding:50px 30px;
	border-radius:20px;
	background-color: #f5f5f5;
	transition: all .5s;
}

.sec05 .state {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-style: normal;
	width:80px;
	height:25px;
	border-radius:5px;
	font-size:1.6rem;
	line-height: 1;
	color:#fff;
}

.sec05 .state01 {
	background-color: #009044;
}

.sec05 .state02 {
	background-color: #f28d4f;
}

.sec05 .state03 {
	background-color: #737373;
}

.sec05 .data {
	display: block;
	width:100%;
	font-size:1.8rem;
	margin:10px 0px 30px;
	padding-bottom:20px;
	border-bottom: 1px solid #bfbfbf;
}

.sec05 .subject {
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp:5;
	-webkit-box-orient: vertical;
	height:180px;
	font-size:2.4rem;
	font-weight: 500;
	line-height: 1.5;
}

.sec05 .place {
	display: flex;
	align-items: center;
	gap:10px;
	margin:20px 0px;
	font-size:1.8rem;
}

.sec05 .place::before {
	content: "";
	display: block;
	width:15px;
	height:22px;
	background: url('/asset/img/bbs/schedule_ico01.png') no-repeat center;
}

.sec05 .links {
	width:100%;
}

.sec05 .links dd {
	width:100%;
	margin-bottom: 10px;
}

.sec05 .links dd:last-child {
	margin-bottom:0px;
}

.sec05 .links a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width:100%;
	height: 50px;
	border-radius:10px;
	font-size:1.8rem;
}

.sec05 .links a.link01 {
	color:#fff;
	background-color: #ec4115;
}

.sec05 .links a.link02 {
	color:#191919;
	background-color: #fff;
}

@media (min-width:1201px) {
	.sec05 .schedule.aos-animate::before {
		width: 0px;
	}

	.sec05 .btn:hover::before {
		transform: translateX(50px);
		clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 50% 50%);
		/* clip-path: polygon(0% 0%, 100% 0%, 100% 50%, 100% 100%, 0% 100%, 0% 50%); */
	}

	.sec05 .btn:hover span {
		opacity: 0;
		transform: translateX(50px);
	}
}
@media (max-width:1536px) {

}
@media (max-width:1366px) {

}
@media (max-width:1280px) {

}
@media (max-width:1200px) {
	.sec05 .schedule {
		padding-top:120px;
	}

	.sec05 .schedule::before {
		display: none;
	}

	.sec05 .schedule::after {
		max-width:962px;
		height:480px;
		background-size: auto 480px;
	}

	.sec05 .controls {
		margin-top:120px;
		font-size:1.6rem;
	}

	.sec05 .controls .pagination i {
		font-size:1.5rem;
	}

	.sec05 .state {
		font-size:1.5rem;
	}

	.sec05 .data {
		font-size:1.6rem;
		margin:10px 0px 24px;
		padding-bottom:16px;
	}
	
	.sec05 .subject {
		height:164px;
		font-size:2.2rem;
	}
	
	.sec05 .place {
		font-size:1.6rem;
	}

	.sec05 .links a {
		height: 42px;
		font-size:1.6rem;
	}
}
@media (max-width:1024px) {
	.sec05 {
		padding:120px 0px 0px;
	}

	.sec05 .schedule {
		padding-top:100px;
		padding-bottom:0px;
	}
	
	.sec05 .schedule::after {
		max-width:100%;
		height:600px;
		background-size:auto 600px;
	}

	.sec05 .rt {
		position: relative;
		top:unset;
		right: unset;
		width:100%;
	}

	.sec05 .controls  {
		gap:16px;
		margin-top:60px;
		margin-bottom:40px;
	}

	.sec05 .controls .arrows {
		gap:16px;
	}

	.sec05 .controls .arrows .prev, .sec05 .controls .arrows .next {
		width:25px;
		height:16px;
		background-size:auto 16px;
	}

	.sec05 .btn {
		width:110px;
		height:94px;
		background-size:auto 94px;
	}

	.sec05 .card {
		padding: 40px 24px;
	}

	.sec05 .data {
		margin:10px 0px 20px;
		padding-bottom:10px;
	}

	.sec05 .place {
		margin:16px 0px;
	}

	.sec05 .place::before {
		width:14px;
		height:20px;
		background-size:auto 20px;
	}
}
@media (max-width:768px) {
	.sec05 {
		padding:100px 0px 0px;
	}

	.sec05 .schedule {
		padding-top:80px;
	}

	.sec05 .controls {
		gap:10px;
		font-size:1.5rem;
	}

	.sec05 .controls .pagination {
		width:60px;
		gap:6px;
	}

	.sec05 .controls .pagination i {
		font-size:1.3rem;
		margin-top:-2px;
	}

	.sec05 .controls .arrows {
		gap:10px;
	}

	.sec05 .controls .arrows .prev, .sec05 .controls .arrows .next {
		width:22px;
		height:14px;
		background-size:auto 14px;
	}

	.sec05 .btn {
		width:87px;
		height:74px;
		background-size:auto 74px;
	}

	.sec05 .card {
		padding:24px;
	}

	.sec05 .state {
		width:70px;
		height:22px;
		font-size:1.4rem;
	}

	.sec05 .data {
		font-size:1.5rem;
		margin:10px 0px 16px;
		padding-bottom:6px;
	}

	.sec05 .subject {
		height:152px;
		font-size:2rem;
	}

	.sec05 .place {
		gap:6px;
		font-size:1.5rem;
	}

	.sec05 .links dd {
		margin-bottom:6px;
	}

	.sec05 .links a {
		height:36px;
		font-size:1.5rem;
	}
}
@media (max-width:576px) {
	.sec05 {
		padding:80px 0px 0px;
	}

	.sec05 .schedule {
		padding-top:60px;
	}

	.sec05 .controls {
		margin-top:40px;
		margin-bottom:20px;
		font-size: 1.4rem;
	}

	.sec05 .controls .pagination {
		width:50px;
		gap:4px;
		color: #fff;
	}

	.sec05 .controls .pagination .swiper-pagination-current{
		color: #fff;
	}
	.sec05 .controls .pagination i {
		font-size:1.1rem;
		margin-top:-3px;
	}

	.sec05 .controls .arrows {
		gap:6px;
	}

	.sec05 .controls .arrows .prev, .sec05 .controls .arrows .next {
		width:20px;
		height:12px;
		background-size:auto 12px;
	}

	.sec05 .btn {
		width:67px;
		height:60px;
		background-size:auto 60px;
	}

	.sec05 .card {
		padding:20px;
	}

	.sec05 .state {
		width:60px;
		height:20px;
		font-size: 1.2rem;
	}

	.sec05 .data {
		font-size:1.4rem;
		margin:6px 0px 10px;
		padding-bottom:4px;
	}

	.sec05 .subject {
		height:136px;
		font-size:1.8rem;
	}

	.sec05 .place {
		gap:4px;
		font-size:1.4rem;
		margin:10px 0px;
	}

	.sec05 .place::before {
		width:11px;
		height:16px;
		background-size:auto 16px;
	}

	.sec05 .links dd {
		margin-bottom:4px;
	}

	.sec05 .links a {
		height:32px;
		font-size:1.4rem;
	}
}


/* Sec06 */
.sec06 {
	padding:150px 0px;
	overflow: hidden;
}

.sec06 .widget {
	position: relative;
	width: 100%;
}
.sec06 .widget .wid-conts{
	display: none;
}
.sec06 .widget .wid-conts.active{
	display: block;
}
.sec06 .widget .sec-06-player{
	width: 100%;
}

.sec06 .prev,
.sec06 .next {
	position: absolute;
	top:calc(50% + 50px);
	transform: translateY(-50%);
	width: 60px;
	height:60px;
	border-radius:50%;
	background-color: #f5f5f5;
	z-index:20;
	cursor: pointer;
	background-repeat:no-repeat;
	background-position:center;
}

.sec06 .prev {
	left:-100px;
	background-image: url('/asset/img/main/sec00_prev02.png');
}

.sec06 .next {
	right:-100px;
	background-image: url('/asset/img/main/sec00_next02.png');
}

.sec06 .prev.swiper-button-disabled,
.sec06 .next.swiper-button-disabled {
	opacity:.5;
}

.sec06 .swiper {
	overflow-x: hidden;
	display: none;
}

.sec06 .swiper.active{display: block;}
.sec-06-player {
	display:block;
	position: relative;
	width:100%;
	/* padding-top: calc(536/357*100%); */
	border-radius: 20px;
	background-color: #fff;
	overflow: hidden;
	transition:all .5s;
	aspect-ratio: 1/1.501;
}

.sec-06-player .cont {
	position: relative;
	width:100%;
	height: 100%;
	padding:50px;
	z-index:2;
	transition:all .5s;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	transform: translateY(50px);
}

.sec-06-player .name {
	font-size:1.8rem;
	font-weight:700;
	color:#fff;
}

.sec-06-player .name span {
	font-size:3rem;
}

.sec-06-player .spec {
	margin:30px 0px;
}

.sec-06-player .spec dd {
	display: flex;
	align-items: center;
	font-size: 1.8rem;
	color:#fff;
	padding-bottom:10px;
}

.sec-06-player .spec dd:last-child {
	padding-bottom:0px;
}

.sec-06-player .spec b {
	width: 50px;
}

.sec-06-player .spec span {
	width: calc(100% - 50px);
}

.sec-06-player .arr {
	display: block;
	width: 65px;
	height:58px;
	background: url('/asset/img/main/sec00_btn03.png') no-repeat center;
	opacity:0;
	transition:opacity .5s;
}

.sec-06-player .img {
	position: absolute;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
	width:100%;
	height:100%;
}

.sec-06-player .img::before {
	content: "";
	display: block;
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	width:100%;
	height:100%;
	background-color: #000;
	opacity:.5;
	transition:opacity .5s;
}

.sec-06-player .img::after {
	content: "";
	display: block;
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	width:100%;
	height:100%;
	background: linear-gradient(to bottom, transparent 50%, #ec4215);
	transition: opacity 0.5s;
	opacity: 0;
}

.sec-06-player .img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (min-width:1201px) {
	.sec-06-player:hover {
		transform: translateY(-50px);
	}

	.sec-06-player:hover .cont {
		transform: translateY(0);
	}

	.sec-06-player:hover .arr {
		opacity:1;
	}

	.sec-06-player:hover .img::before {
		opacity:0;
	} 

	.sec-06-player:hover .img::after {
		opacity: 1;
	}
}
@media (max-width:1536px) {

}
@media (max-width:1366px) {

}
@media (max-width:1280px) {
	.sec-06-player .cont{
		padding: 30px;
	}

}
@media (max-width:1200px) {

}
@media (max-width:1024px) {
	.sec06 {
		padding:120px 0px;
	}
	.sec-06-player .cont{
		padding: 15px;
	}
}

@media all and (max-width:900px){
	.sec06 .widget .sec-06-player{
	}
}
@media (max-width:768px) {
	.sec06 {
		padding:100px 0px;
	}
}
@media (max-width:576px) {
	.sec06 {
		padding:80px 0px;
	}
}

@media (max-width:500px) {
	.sec06 .widget .wid-conts{gap: 10px;}
	.sec06 .widget .sec-06-player{
	}
}

/* Sec07 */
.sec07 {
	padding:0px 0px 150px;
}

.sec07 .banner {
	position: relative;
	z-index:10;
}

.sec07 .banner-ele {
	position: relative;
}

.sec07 .banner-ele-img02 {
	position: absolute;
	top:0;
	right:0;
	z-index:-1;
}

.sec07 .container {
	position: absolute;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
	z-index:2;
} 

.sec07 .txt .t01 {
	font-size:6.8rem;
}

@media (max-width:1536px) {

}
@media (max-width:1366px) {

}
@media (max-width:1280px) {

}
@media (max-width:1200px) {

}
@media (max-width:1024px) {

}
@media (max-width:768px) {

}
@media (max-width:576px) {

}


/* Sec08 */
/* Sec08 */
.sec08 {
	overflow: hidden;
	padding: 150px 0px;
	background-color: #f2f4f9;
}

.sec08 .tab-menu {
	display: flex;
	gap: 10px;
	margin-bottom: 40px;
}

.sec08 .tab-menu .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 180px;
	height: 40px;
	background-color: #fff;
	border-radius: 10px;
	font-size: 1.8rem;
	line-height: 1;
	color: #003189;
	transition: all .5s;
}

.sec08 .tab-menu .icon {
	display: inline-block;
	width: 20px;
	height: 18px;
	background-repeat: no-repeat;
	background-position: center;
}

.sec08 .tab-menu .icon01 {
	background-image: url('/asset/img/main/sec08_sns01_off.png');
}

.sec08 .tab-menu .icon02 {
	background-image: url('/asset/img/main/sec08_sns02_off.png');
}

.sec08 .tab-menu li.on .button {
	background-color: #003189;
	color: #fff;
}

.sec08 .tab-menu li.on .icon01 {
	background-image: url('/asset/img/main/sec08_sns01_on.png');
}

.sec08 .tab-menu li.on .icon02 {
	background-image: url('/asset/img/main/sec08_sns02_on.png');
}

.sec08 .tab-con {
	position: relative;
}

.sec08 .tab-con > li {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
}

.sec08 .tab-con > li.on {
	display: block;
	height: auto;
	position: relative;
	animation: contents-on ease-in-out .5s forwards;
}

/* ========================
   카드 공통
======================== */
.sec08 .media01 .card {
	padding: 20px 10px;
	border-radius: 10px;
	background-color: #fff;
	border: 2px solid transparent;
	transition: all .5s;
}

.sec08 .media01 .subject {
	display: flex;
	align-items: center;
	gap: 10px;
	width: calc(100% - 30px);
	font-size: 1.6rem;
}

.sec08 .media01 .subject img {
	width: 30px;
}

.sec08 .media01 .img {
	aspect-ratio: 1/1;
}

.sec08 .media01 .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sec08 .media01 .icons {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
}

.sec08 .media01 .icons dd:last-child {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}

.sec08 .media02 .img {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: calc(273/484*100%);
	border-radius: 10px;
	overflow: hidden;
}

.sec08 .media02 .img::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background: url('/asset/img/bbs/youtube_ico.png') no-repeat center;
	z-index: 2;
}

.sec08 .media02 .img img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	transition: all .5s;
}

.sec08 .media02 .subject {
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 2.2rem;
}

/* ========================
   PC (1025px 이상): Swiper 무력화 → 일반 flex 레이아웃처럼
======================== */
@media (min-width: 1025px) {
	/* swiper 컨테이너 overflow 해제 */
	.sec08 .media01-swiper,
	.sec08 .media02-swiper {
		overflow: visible;
	}

	/* swiper-wrapper를 flex wrap으로 */
	.sec08 .media01-swiper .swiper-wrapper {
		display: flex;
		flex-wrap: wrap;
		gap: 24px;
		transform: none !important;
		width: auto !important;
	}

	.sec08 .media02-swiper .swiper-wrapper {
		display: flex;
		flex-wrap: wrap;
		gap: 40px 24px;
		transform: none !important;
		width: auto !important;
	}

	/* slide 너비 고정 해제 → flex로 제어 */
	.sec08 .media01-swiper .swiper-slide {
		width: calc(25% - 18px) !important;
		flex-shrink: 0;
	}

	.sec08 .media02-swiper .swiper-slide {
		width: calc(33.33% - 16px) !important;
		flex-shrink: 0;
	}

	/* pagination 숨김 */
	.sec08 .swiper-pagination {
		display: none;
	}

	/* hover */
	.sec08 .media01-swiper .swiper-slide:hover .card {
		border-color: #c9c9c9;
		box-shadow: 0px 0px 6px rgba(113, 113, 133, .2);
	}

	.sec08 .media02-swiper .swiper-slide:hover .img img {
		transform: scale(1.1);
	}
}

/* ========================
   1200px 이하 (PC 구간 내 반응형)
======================== */
@media (min-width: 1025px) and (max-width: 1200px) {
	.sec08 .media01-swiper .swiper-slide {
		width: calc(33.333% - 16px) !important;
	}
}

/* ========================
   1024px 이하: Swiper 정상 동작
======================== */
@media (max-width: 1024px) {
	.sec08{
		padding: 100px 0;
	}
	.sec08 .media01-swiper,
	.sec08 .media02-swiper {
		overflow: hidden;
	}

	.sec08 .swiper-pagination {
		display: block;
		position: relative;
		margin-top: 20px;
		bottom: auto;
	}

	.sec08 .swiper-pagination .swiper-pagination-bullet {
		background: #003189;
		opacity: 0.3;
	}

	.sec08 .swiper-pagination .swiper-pagination-bullet-active {
		opacity: 1;
	}
}

@media all and (max-width:768px){
	.sec08{
		padding: 80px 0;
	}
}

@media all and (max-width:576px){
	.sec08{
		padding: 60px 0;
	}
}
/* Sec09 */
.sec09 {
	padding:150px 0px;
	overflow: hidden;
}

.sec09 .swiper-wrapper {
	-webkit-transition-timing-function:linear!important;
	transition-timing-function:linear!important; 
	position: relative;
}

.sec09 .swiper-slide {
	width: auto;
}

.sec09 .img {
	width:100%;
	padding:0px 40px;
}

@media (max-width:1536px) {

}
@media (max-width:1366px) {

}
@media (max-width:1280px) {

}
@media (max-width:1200px) {

}
@media (max-width:1024px) {
	.sec09{
		padding: 100px 0;
	}

}
@media (max-width:768px) {
	.sec09{
		padding: 80px 0;
	}

}
@media (max-width:576px) {
	.sec09{
		padding: 60px 0;
	}

}


/* Keyframes */
@keyframes img-scale {
	form {
		scale:1.1;
		/* transform: scale(1.1); */
	}
	to {
		scale: 1;
		/* transform: scale(1); */
	}
}

@keyframes contents-on {
	from { opacity: 0; }
	to { opacity: 1; }
}




.sec06 .sub-tab-list {
  max-width: 508px;
  width: 100%;
  opacity: 0;
  /* 초기 상태를 투명하게 설정 (필수) */

  animation-name: fadeInEffect;
  animation-duration: .5s;
  animation-delay: .3s;
  animation-timing-function: ease-out;

  animation-fill-mode: forwards;
}

@keyframes fadeInEffect {
  from {
    opacity: 0;
    transform: translateY(100px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.sec06 .sub-tab-list .tab-item {
  flex: 1;
}

.sec06 .sub-tab-list .tab-item a {
  padding: 15px 0;
  background-color: #F2F4F9;
  width: 100%;
  display: block;
}

.sec06 .sub-tab-list .tab-item:first-child a {
  border-radius: 10px 0 0 10px;
}

.sec06 .sub-tab-list .tab-item:last-child a {
  border-radius: 0 10px 10px 0;
}

.sec06 .sub-tab-list .tab-item.active a {
  border: 1px solid #003189;
  background-color: #fff;
  color: #003189;
  font-weight: 700;
}

/* ===========================================================================
   Popup — 메인 팝업 레이어 (asset_orig/css/main.css 이관 · 디자인 동일성 보존)
   - 위치 기준: pos_x/pos_y 는 **뷰포트** 기준 px 좌표 (DB구조.md §6.12) →
     `position: fixed` 로 좌상단 0,0 부터 측정. asset_orig 의 `position: absolute`
     +`#popup{position:relative}` 조합은 `#popup` 컨테이너가 footer 뒤에 배치되어
     실제 0,0 이 화면 밖이 되는 버그가 있어 본 프로젝트는 `fixed` 로 정정.
   - 모바일(<=1024px)은 디자인 위치 강제(top:95px,left:0).
   - `<a href="#" data-popup-action="today|close" data-popup-seq="<seq>">` 로 닫기 동작.
=========================================================================== */
#popup {
  position: static;
}

.popup-layer {
  z-index: 10000;
  position: fixed;
  background: #fff;
  box-shadow: 0px 0px 20px 0px rgba(0,0,0,.25);
  animation: popup-fade .65s ease-in-out .35s forwards;
  opacity: 0;
  max-width: 800px;
}

@keyframes popup-fade {
  0%   { opacity: 0; transform: translateY(25px); }
  100% { opacity: 1; transform: translateY(0); }
}

.popup-layer__body { background: #fff; }
.popup-layer__body img {
  display: block;
  margin: 0 auto;
  border: none;
  max-width: 100%;
}

.popup-layer__foot { background: #424242; }
.popup-layer__foot ul { display: flex; flex-wrap: wrap; }
.popup-layer__foot li { width: 50%; padding: 10px; }
.popup-layer__foot li:first-child { padding-right: 0; }
.popup-layer__foot li:last-child  { text-align: right; }
.popup-layer__foot a {
  font-size: 1.5rem;
  color: #fff;
  cursor: pointer;
  transition: all 0.3s ease;
}
.popup-layer__foot a:hover { opacity: .7; }

@media (max-width: 1024px) {
  .popup-layer { top: 95px !important; left: 0 !important; margin: 0 5px; }
}
@media (max-width: 768px) {
  .popup-layer { width: calc(100% - 10px); }
  .popup-layer img { max-width: none; width: 100%; height: auto !important; }
  .popup-layer__foot a { font-size: 1.4rem; }
}
@media (max-width: 375px) {
  .popup-layer__foot li { width: 100%; }
  .popup-layer__foot li:last-child { text-align: left; }
}
