.main_body{
	padding-top:32px;
}

.main_body .body_section:not(.hidden){
	padding-top:60px;
}

#intoduction_section{
	padding-top:32px;
}

#intoduction_section .cm_wrapper{
	position:relative;
}

#intoduction_section .section_object{
	position:absolute;
	left:0;
	bottom:48px;
	width:370px;
	height:224px;
	background-image: url(/system/images/object.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
}

#intoduction_section .section_container{
	display:grid;
	grid-template-columns: 480px 1fr 1fr;
	gap:12px;
}

#intoduction_section .section_container .section_article{
	position:relative;
}

#intoduction_section .section_container .section_article:not(:first-child){
	height:320px;
}

#intoduction_section .section_container .greeting_section{
	grid-row: span 2;
	padding-top:120px;
}

#intoduction_section .greeting_section .label{
	font-size:2.5rem;
	font-weight:600;
	color:var(--jb-color-black);
}

#intoduction_section .greeting_section .introduction{
	font-size:1rem;
	font-weight:600;
	color:var(--jb-blue);
	line-height:160%;
	padding-top:12px
}

#intoduction_section .greeting_section .introduction strong{
	font-weight:600;
	color:var(--jb-main);
}

#intoduction_section .photo_box{
	position:absolute;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	border-radius:var(--jb-radius-window);
	overflow:hidden;
}

#intoduction_section .video_box{
	position:absolute;
	border-radius:var(--jb-radius-window);
	overflow:hidden;
}

#intoduction_section .accommodation_section .photo_box{
	height:100%;
	right:0;
	aspect-ratio: 3/4;
	background-image:url(/common/source/airpremia_vacation/accommodation.jpg);
}

#intoduction_section .suggestion_section .video_box{
	width:100%;
	bottom:0;
	left:0;
	aspect-ratio: 22/9;
}

#intoduction_section .suggestion_section .video_box .bg_video_content{
	width: 100%;
	height:100%;
	object-fit: cover;
}

#intoduction_section .flight_section .photo_box{
	height:100%;
	right:0;
	top: 0;
	aspect-ratio: 16/9;
	background-image:url(/common/source/airpremia_vacation/boarding.jpg);
}

#intoduction_section .activity_section .video_box{
	position:absolute;
	width:100%;
	top:0;
	left:0;
	aspect-ratio: 4/3;
}

#intoduction_section .activity_section .video_box .bg_video_content{
	width: 100%;
	height:100%;
	object-fit: cover;
}

#attraction_section .search_container{
	display:flex;
	flex-direction: column;
	justify-content: center;
	width:840px;
	height:160px;
	background-color:#FFF;
	box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
	border-radius:24px;
	padding:0 36px;
	margin-top:24px;
	margin-left:auto;
	margin-right:auto;
}

#attraction_section .search_category{
	display:flex;
	justify-content: start;
	border-bottom:1px SOLID var(--jb-border-list);
}

#attraction_section .search_category li{
	padding:0 12px;
}

#attraction_section .search_category button{
	height:32px;
	font-size:0.875rerem;
	background-color:transparent;
	border-radius:0;
	padding:0 12px;
}

#attraction_section .search_category .selected{
	cursor:default;
	font-weight:600;
	color:var(--jb-color-black);
	border-bottom:2px SOLID var(--jb-color-black);
}

#attraction_section .search_category button:not(.selected):hover{
	cursor:pointer;
	font-weight:600;
	color:var(--jb-color-black);
}

#attraction_section .search_field{
	display:grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 48px;
	gap:24px;
	padding-top:16px;
}

#attraction_section .search_field .label{
	height:24px;
	font-size:0.8125rem;
	font-weight:500;
	color:var(--jb-color-bold);
	line-height:24px;
	padding-left:6px;
}

#attraction_section .search_field #btn_tpo_search{
	width:48px;
	height:48px;
	text-align:center;
	color:var(--jb-white);
	line-height:0;
	background-color:var(--jb-main);
}

#attraction_section .search_field #btn_tpo_search:hover{
	background-color:var(--jb-sub);
}

#attraction_section .search_field #btn_tpo_search .material-icons-round{
	font-size:2rem;
	line-height:48px;
}

#suggestion_section #suggestion_list{
	display:grid;
	grid-template-columns: repeat(4, 1fr);
	gap:32px;
}

#suggestion_section #suggestion_list li{
	position:relative;
	height:660px;
	overflow:hidden;
}

#suggestion_section #suggestion_list li a{
	display:inline-block;
	position:absolute;
	left:0;
	width:100%;
}

#suggestion_list li:nth-child(even) a{
	bottom:0;
}

#suggestion_list li:nth-child(odd) a{
	top:0;
}

#suggestion_list .photo{
	aspect-ratio: 16/9;
	overflow:hidden;

	background-color:var(--jb-bg-main);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

#suggestion_list li:nth-child(even) .photo{
	border-bottom-left-radius:var(--jb-radius-window);
	border-bottom-right-radius:var(--jb-radius-window);
	margin-top: 12px;
}

#suggestion_list li:nth-child(odd) .photo{
	border-top-left-radius:var(--jb-radius-window);
	border-top-right-radius:var(--jb-radius-window);
}

#suggestion_list li .title{
	font-size:1.25rem;
	font-weight:600;
	color:var(--jb-color-black);
	line-height:140%;
}

#suggestion_list li:nth-child(even) .title{
	padding-top:12px;
	padding-bottom:12px;
}

#suggestion_list li:nth-child(odd) .title{
	padding-top:16px;
	padding-bottom:12px;
}


#suggestion_list li:first-child .summation{
	font-size:1rem;
	font-weight:600;
	color:var(--jb-color-black);
	padding-bottom:12px;
}

#suggestion_list li:not(:first-child) .summation{
	font-size:0.875rem;
	font-weight:600;
	color:var(--jb-color-black);
	padding-bottom:12px;
}

#suggestion_list li:first-child .overview{
	line-height:180%;
	text-align: justify;
	color:var(--jb-color-light);
}

#suggestion_list li:not(:first-child) .overview{
	font-size:0.8125rem;
	line-height:180%;
	text-align: justify;
	color:var(--jb-color-light);
}

@media only screen and (max-width: 767px) {
	#suggestion_list{
		display:grid;
		grid-template-columns: 1fr;
	}

	#suggestion_list li a{
		display:inline-block;
		width:100%;
	}

	#suggestion_list li .photo{
		aspect-ratio: 16/9;
		overflow:hidden;
	}

	#suggestion_list li .title{
		font-size:1em;
		font-weight:600;
		padding-top:12px;
		padding-bottom:12px;
	}

	#suggestion_list li:first-child .summation{
		font-size:0.875rem;
		line-height:140%;
		padding-bottom:12px;
	}

	#suggestion_list li:first-child .overview{
		font-size:0.8125rem;
		line-height:160%;
	}

}

#attraction_section .section_head{
	border-top-left-radius: var(--jb-radius-page);
	border-top-right-radius: var(--jb-radius-page);
	background-color:var(--jb-bg-hazy);
	padding:60px 0 36px 0;
}

#attraction_section .section_head .title{
	text-align:center;
	font-size:2rem;
	font-weight:600;
	color:var(--jb-color-black);
}

#attraction_section .section_head .summation{
	text-align:center;
	font-size:1rem;
	font-weight:500;
	color:var(--jb-color-hazy);
	padding-top:6px;
}

#attraction_section .section_head .summation .article:not(:first-child):before{
	content:'/';
	color:var(--jb-color-pale);
	padding-left: 3px;
	padding-right: 3px;
}

#attraction_section .region_filter_list{
	display:flex;
	justify-content: center;
	flex-wrap: wrap;
	padding:12px 0;
	gap: 12px;
}

#attraction_section .region_filter_list button{
	height:32px;
	background-color:transparent;
	border-radius:var(--jb-radius-form);
	padding:0 12px;
	overflow:hidden;
}

#attraction_section #region_filter_list button:not(.selected){
	cursor:pointer;
	color:var(--jb-color-light);
	border:1px SOLID var(--jb-border-button);
}

#attraction_section .region_filter_list button:not(.selected):hover{
	color:var(--jb-color-black);
	border:1px SOLID var(--jb-border-form-hover);
}

#attraction_section .region_filter_list button.selected{
	cursor:default;
	color:var(--jb-color-black);
	border:2px SOLID var(--jb-border-form-hover);
}


.tour_grid{
	display:grid;
	grid-template-columns: repeat(5, 1fr);
	gap:12px;
	margin-top:12px;
}

.tour_grid li{
	aspect-ratio: 3/3.6;
}

.tour_grid .destination{
	display:inline-block;
	width:100%;
	height:100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	border-radius:var(--jb-radius-form);
	overflow:hidden;
}

.tour_grid .tour{
	display:flex;
	flex-direction: column;
	justify-content: space-between;
	width:100%;
	height:100%;
	border:1px SOLID var(--jb-border-list);
	border-radius:var(--jb-radius-form);
	overflow:hidden;
}

.tour_grid .photo{
	flex-grow:0;
	flex-shrink:0;
	width:100%;
	height:180px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.tour_grid .content{
	flex-grow:1;
	flex-shrink:1;
	display:flex;
	flex-direction: column;
	justify-content: space-between;
	padding:12px 16px 16px 16px;
}

.tour_grid .top{
	flex-grow:0;
	flex-shrink:0;
	display:flex;
	justify-content: flex-start;
	font-size:0.8125rem;
	color:var(--jb-color-hazy);
}

.tour_grid .location:before{
	content:'/';
	padding-left:4px;
	padding-right:4px;
}

.tour_grid .subject{
	flex-grow:1;
	flex-shrink:1;
	font-size:1rem;
	font-weight:600;
	line-height:120%;
	color:var(--jb-color-black);
}


.tour_grid li .grade{
	flex-grow:0;
	flex-shrink:0;
	display:flex;
	justify-content: flex-start;
	color:var(--jb-sub);
}

.tour_grid li .grade .material-icons{
	font-size: 1rem;
	line-height:100%;
}

.tour_grid .fare{
	flex-grow:0;
	flex-shrink:0;
	font-size: 1.125rem;
	color:var(--jb-color-black);
	font-weight:600;
	padding-top:6px;
}

.tour_grid li .fare:after{
	content:'원 부터';
	font-weight:400;
	font-size:0.875rem;
	padding-left:3px;
}

#accommodation_section .section_head{
	padding-top:36px;
	padding-bottom:24px;
}

#accommodation_section .section_head .title{
	font-size:2.5rem;
	font-weight:600;
	text-align:center;
	color:var(--jb-color-black);
}

#accommodation_section .section_head .introduction{
	font-size:1rem;
	font-weight:600;
	color:var(--jb-blue);
	line-height:160%;
	padding-top:12px
}

#accommodation_section .section_head .introduction strong{
	font-weight:600;
	color:var(--jb-main);
}


#accommodation_section .accommodation_list{
	display:grid;
	grid-template-columns: 1fr 1fr 600px 1fr 1fr;
	gap:24px;
}

#accommodation_section .accommodation_list li{
	height:600px;
	border-radius:var(--jb-radius-window);
	overflow:hidden;
}

#accommodation_section .accommodation_list li a{
	display:inline-block;
	text-align:center;
	width:100%;
	height:100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	border-radius:var(--jb-radius-window);
	overflow:hidden;
}

#accommodation_section .accommodation_list li .content{
	display:inline-block;
	background-color:rgba(0,0,0,0.6);
	text-align:left;
	padding:12px 24px;
	border-bottom-left-radius:var(--jb-radius-button);
	border-bottom-right-radius:var(--jb-radius-button);
}

.accommodation_list li .top{
	flex-grow:0;
	flex-shrink:0;
	display:flex;
	justify-content: flex-start;
	font-size:0.8125rem;
	color:var(--jb-color-hazy);
}

.accommodation_list li .location:before{
	content:'/';
	padding-left:4px;
	padding-right:4px;
}

.accommodation_list li .subject{
	flex-grow:1;
	flex-shrink:1;
	font-size:1rem;
	font-weight:600;
	line-height:120%;
	color:var(--jb-white);
	padding-top:6px;
	padding-bottom:12px;
}


.accommodation_list li .grade{
	flex-grow:0;
	flex-shrink:0;
	display:flex;
	justify-content: flex-start;
	color:var(--jb-main);
}

.accommodation_list li .grade .material-icons{
	font-size: 1rem;
	line-height:100%;
}
