.kpop .visual {
	position: relative;
	background: url("../images/kpop/visual_bg.png")no-repeat 50% 50% / cover;
}
.kpop .visual:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.35);
}
.kpop .visual .inner {
	max-width: 1300px;
	height: 878px;
}
.kpop .visual .box {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 100%;
	color: var(--white);
	font-family: 'GmarketSans';
	z-index: 1;
}
.kpop .visual .box h2 {
	font-size: 60px;
	font-weight: 600;
	margin: 14px 0;
}


.kpop .sec {
	padding: 150px 0;
}
.kpop .line_box {
	padding: 20px 25px;
	background: var(--white);
	border: 1px solid var(--default);
	box-sizing: border-box;
}
.kpop .line_box h4 {
	font-size: 26px;
	line-height: 1.5;
	margin-bottom: 5px;
}
.kpop .line_box ul li {
	position: relative;
	padding: 3px 0 3px 10px;
	font-weight: 500;
	line-height: 1.3;
	word-break: keep-all;
}
.kpop .line_box ul li:before {
	content: '';
	position: absolute;
	top: 11px;
	left: 0;
	display: block;
	width: 2px;
	height: 2px;
	border-radius: 50%;
	background: var(--black);
}
.kpop .line_box p {
	margin-top: 15px;
	font-weight: 500;
	line-height: 1.5;
}
.kpop .table_form .t_scroll {
	overflow-x: auto;
}
.kpop .table_form .t_scroll table {
	min-width: 1220px;
}



.kpop .sec01 {
	position: relative;
}
.kpop .sec01 .box {
	gap: 30px;
}
.kpop .sec01 .txt {
	flex: 1;
	max-width: 511px;
}
.kpop .sec01 .txt ul li {
	position: relative;
	padding: 3px 0 3px 10px;
	font-size: 18px;
	line-height: 1.8;
	word-break: keep-all;
}
.kpop .sec01 .txt ul li:before {
	content: '';
	position: absolute;
	top: 17px;
	left: 0;
	display: block;
	width: 2px;
	height: 2px;
	border-radius: 50%;
	background: var(--black);
}
.kpop .sec01 .img {
	flex-direction: column;
	width: 50%;
	max-width: 628px;
	gap: 67px;
}
.kpop .sec01 .img img {
	max-width: 100%;
}



.kpop .sec02 .title {
	margin-top: 150px;
}
.kpop .sec02 .title h2.tit {
	color: var(--kbs);
}
.kpop .sec02 .title h2.tit:before,
.kpop .sec02 .title h2.tit:after {
	display: none;
}
.kpop .sec02 .list {
	gap: 50px;
	margin-top: 100px;
}
.kpop .sec02 .list .kpop .line_box {
	margin-bottom: 67px;
}
.kpop .sec02 .list .box {
	gap: 3px;
}
.kpop .sec02 .list .box > div {
	flex: 1;
}
.kpop .sec02 .list .box > div strong {
	display: block;
	width: 100%;
	background: var(--white);
	text-align: center;
	font-size: 26px;
	font-weight: 600;
	letter-spacing: 1.82px;
	margin-bottom: 3px;
	padding: 10px;
	box-sizing: border-box;
}
.kpop .sec02 .list .box > div p {
	background: var(--white);
	padding: 20px;
	box-sizing: border-box;
	font-weight: 500;
	line-height: 1.7;
}




.kpop .program h2.tit {
	margin-bottom: 94px;
}
.kpop .program h2.tit:before,
.kpop .program h2.tit:after {
	display: none;
}
.kpop .program .kpop .table_form > div {
	position: relative;
	margin-top: -2px;
}
.kpop .program .kpop .table_form > div > span {
    position: absolute;
    top: 25px;
    left: -50px;
    font-weight: 500;
    line-height: 1.7;
    transform: rotate(-90deg);
}
.kpop .program table {
	border-collapse: separate;
	border-spacing: 2px;
}
.kpop .program table .gray {
	background: #E4E4E4;
}
.kpop .program table th {
	font-size: 26px;
	letter-spacing: 1.82px;
	padding: 10px;
}
.kpop .program table td {
	background: var(--base);
	padding: 20px;
	font-weight: 500;
	line-height: 1.7;
}
.kpop .program table td span {
	color: var(--Blue);
}
.kpop .program.gray_bg table td {
	background: var(--white);
}
.kpop .program .info {
	padding: 30px 0;
}
.kpop .program .info .arrow {
	position: relative;
}
.kpop .program .info .arrow svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.kpop .program .info > .flex {
	gap: 0 10px;
}
.kpop .program .info > .flex h4 {
	width: 100%;
	font-size: 26px;
	font-weight: 600;
	line-height: 1.7;
}
.kpop .program .info > .flex > div {
	flex: 1;
}
.kpop .program .w_flex .arrow {
	width: 100%;
	height: 57px;
	padding: 30px 25px;
}
.kpop .program .w_flex .arrow svg {
	transform: translateY(-50%) rotate(90deg);
}
.kpop .program .w_flex > .flex {
	width: 100%;
}
.kpop .program .img {
	margin-top: 50px;
}
.kpop .program .img img {
	max-width: 100%;
	box-shadow: 4px 4px 15px 0px rgba(0, 0, 0, 0.10);
}
.kpop .program .img.flex {
	justify-content: end;
	gap: 35px;
}



.kpop .sec08 .kpop .table_form {
	margin: 150px -80px 0;
}
.kpop .sec08 table {
	border-collapse: separate;
	border-spacing: 5px;
}
.kpop .sec08 table th {
	background: #656565;
	color: var(--white);
	padding: 10px 20px;
	font-weight: 500;
}
.kpop .sec08 table .white_bg {
	background: transparent!important;
}
.kpop .sec08 table .gray {
	background: #9D9D9D;
	color: var(--white);
}
.kpop .sec08 table td {
	border: 1px solid var(--default);
	background: var(--base);
	text-align: center;
	font-weight: 500;
}





.kpop .sec09 .inner + .inner {
	max-width: 1560px;
}
.kpop .sec09 .list {
	gap: 250px 50px;
	margin-top: 150px;
}
.kpop .sec09 .list .item {
	width: calc(50% - 25px);
}
.kpop .sec09 .list .item .img img {
	max-width: 100%;
}
.kpop .sec09 .list .item .info {
	margin-top: 48px;
	padding: 0 30px;
	box-sizing: border-box;
}
.kpop .sec09 .list .item .info .name {
	border-bottom: 1px solid var(--black);
	padding-bottom: 10px;
	margin-bottom: 16px;
}
.kpop .sec09 .list .item .info .name strong {
	font-size: 36px;
	margin-right: 10px;
}
.kpop .sec09 .list .item .info .name span {
	font-weight: 500;
}
.kpop .sec09 .list .item .info .flex {
	gap: 35px;
}
.kpop .sec09 .list .item .info .flex ul {
	max-width: calc(50% - 18px);
}
.kpop .sec09 .list .item .info .flex ul li {
	position: relative;
	padding: 0 0 0 23px;
	line-height: 1.8;
}
.kpop .sec09 .list .item .info .flex ul li:before {
	content: '';
	position: absolute;
	top: 12px;
	left: 10px;
	display: block;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: var(--black);
}
.kpop .sec10 {
	padding-bottom: 150px;
}





@media screen and (max-width: 1440px) {
	.kpop .sec08 .kpop .table_form {
		margin: 115px -45px 0;
	}
}
@media screen and (max-width: 1280px) {
	.kpop .sec07 .img.flex img {
		width: 45%;
	}
	
	.kpop .sec08 .kpop .table_form {
		margin: 115px 0 0;
	}
	.kpop .sec08 .kpop .table_form .t_scroll table {
		min-width: 1310px;
	}
	
	.kpop .sec09 .list {
		gap: 50px;
	}
}
@media screen and (max-width: 1024px) {
	.kpop .sec {
		padding: 50px 0;
	}
	
	.kpop .visual .inner {
		height: 500px;
	}
	.kpop .visual .box h2 {
		font-size: 22px;
	}
	.kpop .visual .box p:after {
		width: 2px;
		height: 25px;
		margin: 0 65px;
	}
	
	
	.kpop .sec01 .txt {
		flex: none;
		width: 100%;
		max-width: 100%;
	}
	.kpop .sec01 .txt ul li {
		font-size: 14px;
	}
	.kpop .sec01 .img {
		flex-direction: row;
		width: 100%;
		max-width: 100%;
		gap: 15px;
	}
	.kpop .sec01 .img > div {
		flex: 1;
	}
	
	.kpop .line_box h4 {
		font-size: 16px;
	}
	.kpop .line_box ul li {
		font-size: 13px;
	}
	.kpop .line_box p {
		font-size: 13px;
	}
	
	.kpop .sec02 .title {
		margin-top: 25px;
	}
	.kpop .sec02 .list {
		margin-top: 30px;
	}
	.kpop .sec02 .list > div {
		width: 100%;
	}
	.kpop .sec02 .list .kpop .line_box {
		margin-bottom: 40px;
	}
	.kpop .sec02 .list .box > div strong {
		font-size: 16px;
	}
	.kpop .sec02 .list .box > div p {
		font-size: 13px;
	}
	
	
	.kpop .program h2.tit {
		margin-bottom: 30px;
	}
	.kpop .program .kpop .table_form > div > span {
		font-size: 12px;
		left: -35px;
	}
	.kpop .program table th {
		font-size: 16px;
	}
	.kpop .program table td {
		font-size: 13px;
	}
	.kpop .table_form .t_scroll table {
		min-width: 980px;
	}
	.kpop .program .info > * {
		width: 100%;
	}
	.kpop .program .info > .flex {
		width: 100%;
		gap: 10px;
	}
	.kpop .program .info > .flex h4 {
		font-size: 16px;
	}
	.kpop .program .arrow {
		height: 57px;
		padding: 30px 25px;
	}
	.kpop .program .info .arrow svg {
		transform: translate(-50%,-50%) rotate(90deg);
	}
	.kpop .program .img {
		margin-top: 0px;
	}
	
	.kpop .sec07 .img.flex img {
		width: calc(50% - 18px);
	}
	
	.kpop .sec08 .kpop .table_form {
		margin: 65px 0 0;
	}
	.kpop .sec08 table th {
		font-size: 14px;
	}
	.kpop .sec08 table td {
		font-size: 14px;
	}
	
	
	.kpop .sec09 .list {
		margin-top: 70px;
	}
	.kpop .sec09 .list .item .info .name strong {
		font-size: 26px;
	}
	.kpop .sec09 .list .item .info .name span {
		font-size: 14px;
	}
	.kpop .sec09 .list .item .img {
		text-align: center;
	}
	.kpop .sec09 .list .item .img img {
		max-width: 80%;
	}
	.kpop .sec09 .list .item .info .flex {
		gap: 0;
	}
	.kpop .sec09 .list .item .info .flex ul {
		width: 100%;
		max-width: 100%;
	}
	.kpop .sec09 .list .item .info .flex ul li {
		font-size: 14px;
	}
	
	
	.kpop .sec10 {
		padding-bottom: 50px;
	}
}
@media screen and (max-width: 768px) {
	.kpop .sec02 .list .box > div {
		flex: none;
		width: calc(50% - 2px);
	}
	
	.kpop .sec09 .list .item {
		width: 100%;
	}
	
	.kpop .program .info > .flex > div {
		flex: none;
		width: calc(50% - 5px);
	}
	
	.kpop .line_box {
		padding: 15px 20px;
	}
}
@media screen and (max-width: 480px) {
	.kpop .program .info .arrow {
		height: 27px;
	}
	.kpop .program .info .arrow svg {
		height: 45px;
	}
	.kpop .program .info > .flex > div {
		width: 100%;
	}
}
@media screen and (max-width: 380px) {
	.kpop .sec09 .list .item .info {
		padding: 0;
	}
}