@charset "utf-8";

header.scrolled{
	box-shadow: 0 0.3rem 0.5rem rgba(0, 0, 0, 0.04);
}

.visual_wrap{
	width: 100%;
	height: 860px;
	min-height: auto;
	max-height: 100rem;
	position: relative;
	z-index: 10;
}

.visual_wrap .swiper1{
	max-width: 100%;
	height: calc(100vh - 9rem);
	min-height: 86rem;
	max-height: 91rem;
	position: relative;
	overflow:hidden;
}

.visual_wrap .swiper-slide.swiper-slide-active{
	z-index: 10;
}

.visual_wrap .text{
	width: 1440px;
	max-width: 147rem;
	padding: 15rem 1.5rem 0;
	margin: 0 auto 35px;
}

.visual_wrap .text .eng{
	margin-bottom: 2rem;
	font-size: 7rem;
	font-weight: 700;
	color: #111;
	line-height: 1.1;
}

.visual_wrap .text .sub{
	line-height: 1.7;
}

.visual_wrap .swiper1 .swiper-slide {height: 440px;}

.visual_wrap .swiper1 .swiper-slide .image{
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.visual_wrap .swiper1 .swiper-slide img{
	width:100%; height:100%;
	object-fit: cover;
	object-position: center;
}

.visual_wrap .swiper1 .main_video {width:100%; height:100%; object-fit:cover;}

.visual_wrap .swiper1 .control{
	width: 100%;
	max-width: 147rem;
	padding: 0 1.5rem;
	position: absolute;
	top: -59px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	justify-content: flex-end;
	z-index: 10;
}

.visual_wrap .swiper1 .control .current,
.visual_wrap .swiper1 .control .total{
	min-width: 2rem;
	text-align: center;
	font-size: 1.5rem;
	font-weight: 500;
	color: #000;
}

.visual_wrap .swiper1 .control .autoplay-progress {
	margin: 0 1rem;
	position: relative;
	z-index: 10;
	width: 12rem;
	height: 0.3rem;
	background-color: #D9D9D9;
}

.visual_wrap .swiper1 .control .autoplay-progress svg {
	--progress: 0;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 10;
	width: calc(100% * var(--progress));
	max-width: 100%;
	height: 0.3rem;
	fill: #111;
}

.visual_wrap .swiper1 .control .autoplay-progress .progress{
  height: inherit;
  left: 0;
  top: 0;
  position: absolute;
  background: #111;
  z-index: 1;
}


.visual_wrap .swiper1 .control .swiper-button-prev,
.visual_wrap .swiper1 .control .swiper-button-next{
	width: 0.8rem;
	height: 1.2rem;
	margin-left: 2.4rem;
	background: url('../images/main/visual_arrow.svg') no-repeat left top;
	background-size: 100%;
	cursor: pointer;
}

.visual_wrap .swiper1 .control .swiper-button-next{
	margin: 0 2.4rem 0 1.5rem;
	transform: rotate(180deg);
}

.visual_wrap .swiper1 .control .play{
	display: none;
	width: 1.1rem;
	height: 1.4rem;
	background: url('../images/main/visual_play.svg') no-repeat left top;
	background-size: 100%;
	cursor: pointer;
}
.visual_wrap .swiper1 .control .pause{
	display: none;
	width: 1.1rem;
	height: 1.3rem;
	background: url('../images/main/visual_pause.svg') no-repeat left top;
	background-size: 100%;
	cursor: pointer;
}
.visual_wrap .swiper1 .control .play.show,
.visual_wrap .swiper1 .control .pause.show{
	display: block;
}

.visual_wrap .news{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 9rem;
	padding: 2rem 0;
	background-color: #fff;
	box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.08);
	z-index: 20;
}

.visual_wrap .news .inner{
	position: relative;
	display: flex;
	align-items: center;
}

.visual_wrap .news .title{
	margin-right: 3rem;
	padding-right: 3rem;
	color: #000;
	line-height: 1;
	border-right: 1px solid rgba(112,112, 112, 0.26);
}

.visual_wrap .news .title::before{
	content: '';
	display: inline-block;
	width: 3.7rem;
	height: 2.1rem;
	margin-right: 1.5rem;
	vertical-align: text-bottom;
	background: url('../images/main/ico_news.svg') no-repeat left top;
	background-size: 100%;
}

.visual_wrap .news .swiper2{
	overflow: hidden;
	width: calc(100% - 35rem);
	height: 5rem;
}

.visual_wrap .news .swiper2 .swiper-slide{
	padding: 1.1rem 0;
	display: flex;
	align-items: center;
}

.visual_wrap .news .swiper2 .desc{
	width: 100%;
	max-width: calc(100% - 6rem);
}

.visual_wrap .news .swiper2 .desc p{
	max-width: calc(100% - 4rem);
	display: inline-block;
	vertical-align: middle;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.new::after{
	content: 'N';
	width: 2rem;
	height: 1.9rem;
	display: inline-block;
	vertical-align: middle;
	margin-left: 1.3rem;
	/*background: url('../images/common/ico_new.svg') no-repeat left top;
	background-size: 100%;*/
	font-family: 'Pretendard';
    font-size: 13px;
    color: #fff;
    font-weight: 700;
    background: #d85278;
    border-radius: 5px 0 5px 5px;
    text-align: center;
    line-height: 1;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.news_badge{
	padding: 0.1rem 1.2rem;
	margin-right: 1.2rem;
	font-size: 1.6rem;
	font-weight: 500;
	color: #fff;
	background-color: #000;
}

.slide_control{
	display: flex;
	align-items: center;
	gap: 3rem;
}

.slide_control .button-prev,
.slide_control .button-next{
	width: 1.2rem;
	height:4rem;
	background: url('../images/main/visual_arrow.svg') no-repeat left center;
	background-size: 100%;
	cursor: pointer;
}

.slide_control .button-next{
	transform: rotate(180deg);
}

.slide_control .play{
	display: none;
	width: 1.4rem;
	height: 1.8rem;
	background: url('../images/main/visual_play.svg') no-repeat left center;
	background-size: 100%;
	cursor: pointer;
}
.slide_control .pause{
	display: none;
	width: 1.3rem;
	height: 1.7rem;
	background: url('../images/main/visual_pause.svg') no-repeat left top;
	background-size: 100%;
	cursor: pointer;
}

.slide_control .play.show,
.slide_control .pause.show{
	display: block;
}

.slide_control .more{
	width: 1.6rem;
	height: 1.6rem;
	background: url('../images/main/ico_more.svg') no-repeat left top;
	background-size: 100%;
}

.slide_control .pagination{
	font-size: 2.2rem;
	color: #111;
	font-weight: 500;
}

.visual_wrap .news .slide_control{
	position: absolute;
	right: 1.5rem;
	z-index: 10;
}

.visual_wrap .news .slide_control .more {position:relative; margin-right:50px;}
.visual_wrap .news .slide_control .more:after {content:""; position:absolute; top:50%; right:-40px; width:1px; height:21px; background:rgba(112, 112, 112, 0.26); transform:translateY(-50%);}

.visitInfo{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 3rem;
	margin: 6rem 0 8rem;
}

.visitInfo .info{
	flex-grow:1;
	padding-bottom: 2.5rem;
	border-bottom: 3px solid #111;
}

.visitInfo .info dl{
	display: flex;
	align-items: center;
}

.visitInfo .info dl:not(:last-child){
	margin-bottom: 1.3rem;
}

.visitInfo .info dl dt{
	width: 22.5rem;
	padding-right: 1rem;
	font-weight: 500;
	color: #111;
	font-size: 2.4rem;
}

.visitInfo .info dl dt::before{
	content: '';
	width: 2rem;
	height: 2rem;
	display: inline-block;
	vertical-align: middle;
	margin-right: 1.6rem;
	margin-top: -0.3rem;
	background-position: left top;
	background-repeat: no-repeat;
	background-size: 100%;
}

.visitInfo .info dl.time dt::before{
	background-image: url('../images/main/ico_time.svg');
}
.visitInfo .info dl.holiday dt::before{
	background-image: url('../images/main/ico_holiday.svg');
}
.visitInfo .info dl.price dt::before{
	background-image: url('../images/main/ico_price.svg');
}

.visitInfo .info dl dd{
	width: calc(100% - 22.5rem);
}

.visitInfo .info dl dd b{
	margin-right: 2rem;
	font-weight: 500;
	color: #111;
}

.visitInfo .info dl dd span{
	display: inline-block;
	font-size: 1.6rem;
}

.visitInfo .link{
	display: flex;
	gap:1.8rem;
}

.visitInfo .link a{
	width: 16rem;
	display: block;
	text-align: center;
	font-size: 3rem;
	font-weight: 500;
	color: #111;
	line-height: 1.6;
	border-bottom: 3px solid #111;
}

.visitInfo .link a:nth-child(2),
.visitInfo .link a:nth-child(3){line-height: 100px;}

.visitInfo .link a:hover,
.visitInfo .link a:focus{
	color: #006D68;
	border-bottom: 3px solid #006D68;
}

.tit_wrap{
	margin-bottom: 3.8rem;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.tit_wrap .h2{
	font-size: 4rem;
	font-weight: 600;
	line-height: 1;
	color: #111;
}

.apply{
	overflow: hidden;
}

.swiper-slide > a{
	display: block;
}

.apply .img{
	position: relative;
	margin-bottom: 2rem;
	border: 1px solid #E5E5E5;
}

.apply .img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.apply .img .status{
	width: 6.8rem;
	height: 6.8rem;
	right: -1px;
	bottom: -1px;
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #fff;
	border: 1px solid #111;
}

.apply .img .status i{
	position: relative;
	color: #111;
	font-weight: 500;
	font-size: 1.6rem;
	background-color: #fff;
	z-index: 2;
}

.apply .img .status.end::before{
	content: '';
	width: 1px;
	height: 140%;
	position: absolute;
	left: 50%;
	transform: rotate(45deg);
	background-color: #111;
}

.apply .badge{
	display: inline-block;
	padding: 0.1rem 1.1rem;
	color: #fff;
	font-weight: 500;
	font-size: 1.6rem;
}

.apply .badge.type1{
	background-color: #006D68;
}
.apply .badge.type2{
	background-color: #46B47C;
}
.apply .badge.type3{
	background-color: #9EC464;
}

.apply .tit{
	margin-top: 1.6rem;
}

.apply .tit p{
	max-width: calc(100% - 3.5rem);
	display: inline-block;
	vertical-align: middle;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 2.2rem;
	font-weight: 600;
	color: #222;
	line-height: 1;
}

.apply .info{
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	margin-top: 2.2rem;
	padding-bottom: 2.1rem;
	border-bottom: 2px solid #111;
}

.apply .info dl{
	display: flex;
}

.apply .info dl dt{
	width: 7rem;
	color: #222;
	font-size: 1.6rem;
	font-weight: 500;
}

.apply .info dl dd{
	font-size: 1.6rem;
	flex-grow: 1;
	word-break: break-all;
}

.applyBanner{
	padding: 4.8rem 5.9rem;
	margin: 6rem 0 10rem;
	border: 1px solid #EBEBEB;
	background: url('../images/main/banner.jpg') no-repeat center top;
	background-size: cover;
}

.applyBanner .eng{
	font-size: 1.4rem;
	font-weight: 300;
	letter-spacing: 0.02rem;
}

.applyBanner .tit{
	margin-bottom: 2rem;
	font-size: 4rem;
	color: #111;
	font-weight: 600;
}

.applyBanner a{
	display: block;
	width: 22.5rem;
	position: relative;
	padding-left: 2rem;
	line-height: 4.6rem;
	color: #111;
	font-weight: 500;
	border: 1px solid #111111;
	background-color: #fff;
	z-index: 1;
}

.applyBanner a::after{
	content: '';
	width: 0.8rem;
	height: 1.2rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%) rotate(180deg);
	right: 1.7rem;
	background: url('../images/main/visual_arrow.svg') no-repeat left top;
	background-size: 100%;
}
main .applyBanner a:before {content:""; position: absolute; top:0; left:0; width: 0; height: 100%; background: #111; z-index: -1; transition:.2s linear;}
main .applyBanner a:hover {color: #fff;}
main .applyBanner a:hover:before {width: 100%;}
main .applyBanner a:hover:after {background: #fff; mask:url('../images/main/visual_arrow.svg') no-repeat left center; -webkit-mask:url('../images/main/visual_arrow.svg') no-repeat left center;}

.notice{
	padding: 10rem 0;
	background:url('../images/main/bg_notice.jpg') no-repeat center top;
	background-size: cover;
}

.notice .inner{
	overflow: hidden;
}

.notice .left,
.notice .right{
	width:calc(50% - 4rem);
	float: left;
}

.notice .left{
	margin-right: 8rem;
}

.notice .left .tit_wrap{
	align-items: center;
}

.notice .list{
	border-top: 2px solid #111;
	border-bottom: 1px solid #111;
}

.notice .list a{
	display: flex;
	align-items: center;
	padding: 2.1rem 1rem;
}

.notice .list li:not(:last-child) a{
	border-bottom: 1px solid #DDDDDD;
}

.notice .list a p{
	max-width: calc((100% - 13rem));
	flex-grow: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: #111;
}

.notice .list a .date{
	width: 13rem;
	text-align: center;
}

.notice .swiper4{
	overflow: hidden;
}

.notice .swiper4 a{
	border: 1px solid #EBEBEB;
	height:380px;
}

.notice .swiper4 a img{
	width: 100%;
	height:100%;
	object-fit:cover;
}

.exhibit{
	padding: 10rem 0;
	position: relative;
	overflow: hidden;
}

.exhibit::before{
	content: '';
	width: 154.8rem;
	height: 29.5rem;
	position: absolute;
	left: 50%;
	top: 0;
	background: url('../images/main/bg_typo.svg') no-repeat left top;
	background-size: 100%;
}

.exhibit .inner{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	position: relative;
}

.exhibit .history,
.exhibit .youtube {width:49%;}

.exhibit .history .swiper5{
	overflow: hidden;
}

.exhibit .history .swiper5 .img{
	position: relative;
	height:40rem;
}

.exhibit .history .swiper5 .img img{
	width: 100%;
	height:100%;
	object-fit:cover;
}

.exhibit .history .swiper5 .img::before{
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: linear-gradient(to bottom,#000000c8, #54545417 );
}

.exhibit .history .swiper5 .text{
	position: absolute;
	width: 100%;
	text-align: center;
	top: 50%;
	transform: translateY(-50%);
	color: #fff;
}

.exhibit .history .swiper5 .text .tit{
	margin-bottom: 1.5rem;
	font-size: 3.6rem;
	font-weight: 600;
}

.exhibit .history .swiper5 .text .btn{
	width: 13rem;
	display: block;
	margin: 6rem auto 0;
	line-height: 4.6rem;
	color: #fff;
	font-weight: 500;
	text-align: center;
	border: 1px solid #fff;
	position: relative;
	z-index: 1;
}

.exhibit .history .swiper5 .text .btn::after{
	content: '';
	width: 0.7rem;
	height: 1.2rem;
	display: inline-block;
	margin-left: 2rem;
	background: url('../images/main/arrow_white.svg') no-repeat left top;
	background-size: 100%;
}
.exhibit .history .swiper5 .text .btn:before {content:""; position: absolute; top:0; left:0; width: 0; height: 100%; background: #fff; z-index: -1; transition:.2s linear;}
.exhibit .history .swiper5 .text .btn:hover {color: #111;}
.exhibit .history .swiper5 .text .btn:hover:before {width: 100%;}
.exhibit .history .swiper5 .text .btn:hover:after {background: #111; mask:url('../images/main/arrow_white.svg') no-repeat left center; -webkit-mask:url('../images/main/arrow_white.svg') no-repeat left center;}

.exhibit .swiper5_2 {overflow:hidden;}

.exhibit .youtube .videoWrap{
	position: relative;
	background-color: #000;
}

.exhibit .youtube .videoWrap .video{
	width: 100%;
	height: 40rem;
	overflow: hidden;
}	

.exhibit .youtube .videoWrap .video .play{
	position: absolute;
	width: 8.2rem;
	height: 8.2rem;
	top:50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: url('../images/main/play_youtube.svg') no-repeat left top;
	background-size: 100%;
}

.exhibit .youtube .videoWrap .tit{
	width: 81%;
	position: absolute;
	left: 2rem;
	bottom: 1rem;
	color: #fff;
}

.items{
	padding: 10rem 0 15rem;
	background-color: #f9f9f9;
}

.items .left{
	position: relative;
}

.items .left .bg{
	position: relative;
	background: #fff;
}

.items .swiper6{
	overflow: hidden;
	position: relative;
	z-index: 5;
}

.items .swiper6 .swiper-slide .text{
	width: 55%;
}

.items .swiper6 .swiper-slide .text .tit{
	position: relative;
	padding-bottom: 1.8rem;
	font-size: 4rem;
}

.items .swiper6 .swiper-slide .text .tit::before{
	content: '';
	width: 8.5rem;
	height: 1px;
	position: absolute;
	left: 0;
	bottom: 0;
	background-color: #ddd;
}

.items .swiper6 .swiper-slide .text .desc{
	max-height: 28rem;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 9;
	margin-top: 2.6rem;
	font-weight: 300;
	line-height: 1.7;
}

.items .swiper6 .swiper-slide .img img{
	width: 100%;
}


.items .swiper7{
	overflow: hidden;
}

.items .swiper7 .img {position: relative; width: 100%; height:299px; overflow: hidden;}

.items .swiper7 img{
	position: absolute; top:0; left:0; width: 100%; height: 100%; object-fit:cover;
}

.items .swiper7 .name{
	padding: .8rem 3.9rem;
	font-size: 2rem;
	color: #000;
	border: 1px solid #ddd;
	background-color: #fff;
}
.items .swiper7 .name span {
	overflow:hidden; text-overflow:ellipsis; white-space:normal; text-align:left; word-wrap:break-word; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
	height:6.4rem;
}




@media screen and (max-width:1470px) {

	.visual_wrap .text {max-width: 100%;}

	.exhibit .youtube .videoWrap .video{
		height: 32.4vw;
	}	

	.items .swiper6 .swiper-slide::before{
		width: 32vw;
		height: 32vw;
	}

	.items .swiper6 .swiper-slide .text .tit{
		font-size: 2.7vw;
	}

	.items .swiper6 .swiper-slide .text .desc{
		max-height: 19vw;
		font-size: 1.22vw;
	}

	.items .swiper7 .img {height:calc(15vw + 62px);}
	.items .swiper7 .name{
		padding: 1vw 2.3vw;
	}
	

	.tit_wrap .h2 {font-size: 3rem;}

}


/* tablet */
@media screen and (max-width:1024px) {

	.visual_wrap{
		height: 100%;
		min-height: 0;
		max-height: 100%;
		max-width: 100vw;
	}
	
	.visual_wrap .swiper1{
		height: 100%;
		min-height: 0;
		max-height: 100%;
	}
	
	.visual_wrap .text{
		min-height: 41rem;
		padding-top: 11rem;
		margin-bottom: 0;
	}

	.visual_wrap .text .eng{
		font-size: 5.8rem;
	}

	.visual_wrap .text .sub{
		min-height: 7.5rem;
		font-size: 1.7rem;
	}

	.visual_wrap .swiper1 .swiper-slide,
	.visual_wrap .swiper1 .swiper-slide .image{
		height: 30rem;
		margin-top: 2rem;
		position: relative;
		transform: none;
		left: auto;
		overflow: hidden;
	}

	.visual_wrap .swiper1 .swiper-slide .image img{
		width: 100%;
		height: 100%;
	}

	.visual_wrap .swiper1 .control{
		top:-49px;
	}

	.visual_wrap .news{
		position: relative;
		bottom: auto;
		height: 6rem;
	}

	.visual_wrap .news{
		height: 7.5rem;
		padding: 1.3rem 0;
	}

	.visitInfo{
		display: block;
	}

	.visitInfo .info{
		margin-bottom: 3rem;
	}

	.visitInfo .link a{
		width: calc(100% / 3);
		font-size: 2.7rem;
	}

	.applyBanner{
		padding: 3.8rem 4.2rem;
	}
	
	.applyBanner .tit{
		font-size: 3.6rem;
	}

	.applyBanner a{
		width: 20rem;
	}

	.notice .left,
	.notice .right{
		width:100%;
		float: none;
	}

	.notice .left{
		margin-right: 0;
		margin-bottom: 6rem;
	}

	.exhibit .history .swiper5 .text .tit{
		font-size: 3rem;
	}

	.exhibit .history .swiper5 .text .btn{
		margin-top: 4rem;
	}

	.exhibit .youtube .videoWrap .video .play{
		width: 7rem;
		height: 7rem;
	}

	.items{
		padding: 6rem 0 8rem;
	}

	.items .swiper6 .swiper-slide .text .tit{
		padding-bottom: 1.3vw;
	}

	.items .swiper6 .swiper-slide .text .desc{
		margin-top: 2.3vw;
	}

	.items .swiper6 .swiper-slide .text{
		width: 56%;
	}

	.items .swiper7 .img {height: 40vw;}
	.items .swiper7 .name{
		font-size: 1.5rem;
		padding: 2vw;
	}
}



/* mobile */
@media screen and (max-width: 768px) {

	.visitInfo .info dl dd{width: 100%;}

	.visual_wrap .text{
		min-height: 26rem;
		padding-top: 6rem;
		margin-bottom: 10px;
	}

	.visual_wrap .text .eng{
		margin-bottom: 1rem;
		font-size: 2.8rem;
		line-height: 1.2;
	}

	.visual_wrap .text .sub{
		min-height: 6.5rem;
		font-size: 1.1rem;
	}

	.visual_wrap .swiper1 .swiper-slide,
	.visual_wrap .swiper1 .swiper-slide .image{
		height: 20rem;
		margin-top:1rem;
		position: relative;
		transform: none;
		left: auto;
	}

	.visual_wrap .swiper1 .control{
		top:-20px;
		justify-content:flex-start
	}

	.visual_wrap .swiper1 .control .current, 
	.visual_wrap .swiper1 .control .total{
		min-width: 1.2rem;
		font-size: 1.1rem;
	}

	.visual_wrap .swiper1 .control .autoplay-progress{
		width: 8rem;
		height: 0.2rem;
	}

	.visual_wrap .swiper1 .control .autoplay-progress svg {
		top: -0.05rem;
	}

	.visual_wrap .swiper1 .control .swiper-button-prev, 
	.visual_wrap .swiper1 .control .swiper-button-next{
		width: 0.7rem;
		height: 1.1rem;
		margin-left: 1.6rem;
	}
	.visual_wrap .swiper1 .control .swiper-button-next{
		margin:0 1.7rem 0 1.5rem;
	}

	.visual_wrap .swiper1 .control .pause{
		width: 0.8rem;
		height: 1.1rem;
	}

	.visual_wrap .swiper1 .control .play{
		width: 0.9rem;
		height: 1.1rem;
	}

	.visual_wrap .news{
		height: auto;
		padding: 1.1rem 0 0.9rem;
	}

	.visual_wrap .news .inner{
		display: block;
	}

	.visual_wrap .news .title{
		margin-right: 0;
		padding-right: 0;
		padding-bottom: 1rem;
		margin-bottom: 0.8rem;
		font-size: 1.1rem;
		border-right: 0;
		border-bottom: 1px solid #efefef;
	}

	.visual_wrap .news .title::before{
		width: 1.6rem;
		height: 0.8rem;
		margin-right: 0.9rem;
		vertical-align: baseline;
	}

	.visual_wrap .news .swiper2{
		width: 100%;
		height: 2rem;
		padding-right: 50px;
	}

	.visual_wrap .news .swiper2 .swiper-slide{
		padding: 0;
	}

	.news_badge{
		padding: 0.1rem 1rem;
		margin-right: 0.6rem;
		font-size: 1.1rem;
	}

	.visual_wrap .news .swiper2 .desc{
		max-width: calc(100% - 2rem);
		font-size: 1.1rem;
	}

	.new::after{
		width: 1.5rem;
		height: 1.4rem;
		margin-left: 0.3rem;
	}

	.visual_wrap .news .swiper2 .desc p{
		max-width: calc(100% - 2rem);
	}

	.slide_control{
		gap: 0.5rem;
	}

	.slide_control .button-prev,
	.slide_control .button-next{
		width: 0.9rem;
		height: 1.6rem;
		background-image: url('../images/main/visual_arrow_m.svg');
	}
	
	.slide_control .play{
		width: 1rem;
		height: 1.4rem;
	}
	.slide_control .pause{
		width: 0.8rem;
		height: 1.5rem;
		background-image: url('../images/main/visual_pause_m.svg');
	}
	
	.slide_control .more{
		width: 1.5rem;
		height: 1.5rem;
		background-image: url('../images/main/ico_more_m.svg');
	}

	.slide_control .pagination{
		font-size: 1.2rem;
	}
	
	.visual_wrap .news .slide_control{
		top: 0.1rem;
		right: 1.2rem;
	}

	.visual_wrap .news .slide_control .button-prev,
	.visual_wrap .news .slide_control .button-next{
		width: 0.6rem;
		height: 1rem;
	}

	.visual_wrap .news .slide_control .pause{
		width: 0.6rem;
		height: 1.1rem;
	}

	.visual_wrap .news .slide_control .play{
		width: 0.7rem;
		height: 0.9rem;
	}

	.visual_wrap .news .slide_control .more{
		/* width:1.1rem;
		height:1.1rem; */
		position: absolute;
		top: 25px;
		right: 0;
		margin: 0;
		width: 45px;
		height: 45px;
		background-size: 14px;
		background-position: 50% 50%;
	}

	.visitInfo{
		margin: 3rem 0 4.5rem;
	}

	.visitInfo .info{
		margin-bottom: 2.4rem;
		border-width: 2px;
	}

	.visitInfo .info dl{
		display: block;
	}

	.visitInfo .info dl:not(:last-child){
		margin-bottom: 1.8rem;
	}

	.visitInfo .info dl dt{
		width: 100%;
		margin-bottom: 0.5rem;
		font-size: 1.5rem;
	}

	.visitInfo .info dl dt::before{
		width: 1.5rem;
		height: 1.5rem;
		margin-right: 0.7rem;
	}
		
	.visitInfo .info dl dd b{
		margin-right: 1rem;
		font-size: 1.2rem;
	}

	.visitInfo .info dl dd span{
		font-size: 1.1rem;
	}

	.visitInfo .link{
		gap:1.2rem;
	}

	.visitInfo .link a{
		font-size: 1.5rem;
		line-height: 1.2;
		border-width: 2px;
		display: flex;
	    justify-content: center;
	    align-items: center;
	}
	.visitInfo .link a:nth-child(2),
	.visitInfo .link a:nth-child(3) {line-height: 1.2;}

	.tit_wrap{
		margin-bottom: 1.8rem;
	}

	.tit_wrap .h2{
		font-size: 2.2rem;
	}
		
	.apply .img{
		margin-bottom: 1.5rem;
	}

	.apply .img .status{
		width: 5.4rem;
		height: 5.4rem;
		right: 0;
	}

	.apply .img .status i{
		font-size: 1.1rem;
	}

	.apply .badge{
		padding: 0.2rem 1.4rem 0.1rem;
		font-size: 1.1rem;
	}

	.apply .tit{
		margin-top: 1.1rem;
	}

	.apply .tit p{
		max-width: calc(100% -2.2rem);
		font-size: 1.6rem;
	}

	.apply .info{
		gap: 0.4rem;
		margin-top: 1.4rem;
		padding-bottom: 1.4rem;
	}

	.apply .info dl dt{
		width: 5rem;
		font-size: 1.2rem;
	}

	.apply .info dl dd{
		font-size: 1.2rem;
	}

	.applyBanner{
		padding: 2.3rem 1.7rem 5rem;
		margin: 3.4rem 0 4rem;
		background-image: url('../images/main/banner_m.jpg');
	}
	
	.applyBanner .eng{
		font-size: 1rem;
	}
	
	.applyBanner .tit{
		margin-top: 0.3rem;
		margin-bottom: 1.2rem;
		font-size: 1.8rem;
	}
	
	.applyBanner a{
		width: 13.5rem;
		padding-left: 1.2rem;
		line-height: 3rem;
		font-size: 1.1rem;
	}
	
	.applyBanner a::after{
		width: 0.5rem;
		height: 0.8rem;
		right: 1.4rem;
	}

	.notice{
		padding: 4rem 0;
	}
	
	.notice .left{
		margin-bottom: 5rem;
	}

	.notice .list a{
		padding: 1.5rem 0;
	}

	.notice .list a p{
		max-width: calc((100% - 6.7rem));
		font-size: 1.2rem;
	}

	.notice .list a .date{
		width: 6.7rem;
		font-size: 1.2rem;
	}

	.exhibit {
		padding: 5rem 0;
	}

	.exhibit::before{
		display: none;
	}

	.exhibit .inner,
	.items .inner{
		display: block;
	}

	.exhibit .history,
	.exhibit .youtube,
	.items .left,
	.items .right{
		width: 100%;
		max-width: 100%;
	}

	.exhibit .history .swiper5 .text .tit{
		font-size: 2rem;
	}
	
	.exhibit .history .swiper5 .text .btn{
		width: 9rem;
		margin: 2rem auto 0;
		line-height: 3rem;
	}

	.exhibit .history .swiper5 .text{
		font-size: 1.2rem;
	}
	
	.exhibit .history .swiper5 .text .btn::after{
		width: 0.5rem;
		height: 0.8rem;
	}

	.exhibit .youtube{
		margin-top: 1.7rem;
	}

	.exhibit .youtube .videoWrap .video {
		height: 53vw;
  	}

	.exhibit .youtube .videoWrap .video .play{
		width: 5.3rem;
		height: 5.3rem;
	}

	.exhibit .youtube .videoWrap .tit {
		left: 2rem;
		bottom: 1rem;
		font-size: 1.2rem;
	}

	.items{
		padding: 0 0 6rem;
		background-color: #fff;
	}

	.items .swiper6 .swiper-slide::before{
		width: 17rem;
		height: 17rem;
		bottom: auto;
		top: -8rem;
	}

	.items .swiper6 .swiper-slide .text{
		width: 100%;
	}

	.items .swiper6 .swiper-slide .text .tit{
		padding-bottom: 1.7rem;
		font-size: 2rem;
	}

	.items .swiper6 .swiper-slide .text .tit::before{
		width: 3.5rem;
	}

	.items .swiper6 .swiper-slide .text .desc{
		max-height: 100%;
		overflow: visible;
		display: block;
		margin-top: 2.2rem;
		font-size: 1rem;
	}

	.items .left{
		margin-top: 4rem;
	}

	.items .swiper7 .img {height:50vw;}
	.items .swiper7 .name{position:relative;
		padding: 1.4rem 1.6rem;
		font-size: 1.3rem;
		line-height: 2rem; height:6.8rem;
		overflow:hidden; text-overflow:ellipsis; white-space:normal; text-align:left; word-wrap:break-word; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
	}
	.items .swiper7 .name:after {content:""; position:absolute; bottom:0; left:0; width:100%; height:1.4rem; background:#fff; z-index:1;}
	
	.items .swiper7 .name span {
		overflow:hidden; text-overflow:ellipsis; white-space:normal; text-align:left; word-wrap:break-word; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
		height:4rem;
	}
}

.pop_gen {position:fixed; top:50%; left:50%; width:500px; max-width:calc(100vw - 30px); transform:translate(-50%,-50%); border-radius:20px; overflow:hidden; z-index:101; box-shadow:rgba(0,0,0,.1) 0 0 20px;}
.pop_gen .pop_slide_wrap {position:relative;}
.pop_gen .pop_slide {position:relative;}
.pop_gen .pop_slide .slick-slide {font-size:0; height:500px;}
.pop_gen .pop_slide a {position:relative; display:block; width:100%; height:0; padding-top:100%; font-size:0;}
.pop_gen .pop_slide a img {position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover;}
.pop_gen .slick-arrow {position:absolute; bottom:10px; width:30px; height:30px; z-index:2; font-size:0;}
.pop_gen .slick-arrow:before {content:""; position:absolute; top:0; left:0; width:100%; height:100%; background:url('/pub/images/main/arrow_slide.svg') no-repeat 50% 50%;}
.pop_gen .slick-prev {right:80px;}
.pop_gen .slick-next {right:10px;}
.pop_gen .slick-next:before {transform:rotate(180deg);}
.pop_gen .slick-dots {position:absolute; bottom:10px; right:10px; width:130px; height:30px; background:rgba(255,255,255,.5); border-radius:15px;}
.pop_gen .slick-dots li {position:absolute; top:0; left:0; width:100%; height:100%; padding:0 20px 0 50px; color:#222; line-height:30px; text-align:center; display:none;}
.pop_gen .slick-dots li.slick-active {display:block;}
.pop_gen .buttons {position:absolute; bottom:10px; right:110px; width:20px; height:30px;}
.pop_gen .buttons .pop_papl {position:absolute; top:0; left:0; width:100%; height:100%; display:none !important; background:no-repeat 50% 50% / 10px 10px;; /* background:#333; */ /* mask:no-repeat 50% 50% / 10px 10px; -webkit-mask:no-repeat 50% 50% / 10px 10px; */ font-size:0;}
.pop_gen .buttons .pop_papl.on {display:block !important;}
.pop_gen .buttons .pop_pause {background-image: url('/pub/images/main/icon_pause.svg'); /* mask-image:url('./icon_pause.svg'); -webkit-mask-image:url('./icon_pause.svg'); */}
.pop_gen .buttons .pop_play {background-image: url('/pub/images/main/icon_play.svg'); /* mask-image:url('./icon_play.svg'); -webkit-mask-image:url('./icon_play.svg'); */}
.pop_gen .btns {display:flex; border-top:#ebebeb 1px solid; background:#fff;}
.pop_gen .btns .btn {position:relative; width:50%; max-width:none; font-size:16px; color:#222; line-height:50px; height:50px; text-align:center; border-radius:0; border:0; margin:0;}
.pop_gen .btns .btn:before {content:""; position:absolute; top:50%; left:0; width:1px; height:20px; background:#ebebeb; margin-top:-10px;}
.pop_gen .btns .btn:first-child:before {display:none;}
@media screen and (max-width:767px){
	.pop_gen {max-width:calc(100vw - 28px);}
	.pop_gen {border-radius:10px;}
	.pop_gen .pop_slide .slick-slide {max-height:calc(100vw - 40px);}
}