@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&family=Noto+Serif+KR:wght@200;300;400;500;600;700;900&family=Noto+Serif+SC:wght@200;300;400;500;600;700;900&family=Noto+Serif+TC:wght@200;300;400;500;600;700;900&family=Noto+Serif:ital,wght@0,400;0,700;1,400;1,700&display=swap');

*{
	font-family: 'Noto Serif', 'Noto Serif JP', 'Noto Serif KR', 'Noto Serif SC', 'Noto Serif TC', serif !important;
}

img{
	max-width: 100%;
}

body{
	background-color: rgb(245, 245, 245);
}

header a{
	display: inline-block;
}

.content-layout{
	margin: 0 auto;
	width: 80%;
}

.banner img{
	width: 100%;
}

.banner-m{
	display: none;
}

.guide{
	padding: 2.5% 0;
}

.guide p{
	font-size: 24px;
	line-height: 36px;
	text-align: center;
	color: rgb(100, 100, 100);
}

.tab{
	background-color: rgb(245, 245, 245);
}

.tab-area{
	border-bottom: 1px solid rgb(200, 200, 200);
	display: flex;
	flex-direction: row;
	align-items: center;
}

.tab-area a{
	padding: 2.5% 0;
	margin: 0 auto;
	width: 20%;
	font-size: 24px;
	line-height: 36px;
	text-align: center;
	text-decoration: none;
	color: rgb(100, 100, 100);
}

.tab-area a:hover{
	color: rgb(2, 122, 76);
}

.tab-area > .active{
	color: rgb(2, 122, 76);
	position: relative;
}

.tab-area > .active::after{
	content: '';
	height: 1px;
	top: none;
	right: 0;
	bottom: -1px;
	left: 0;
	margin: auto;
	position: absolute;
	background-color: rgb(2, 122, 76);
}

.bookall-title{
	padding: 2.5% 0;
}

.bookall-title h2{
	padding-bottom: 8px;
	font-size: 36px;
	line-height: 54px;
	text-align: center;
	color: rgb(100, 100, 100);
}

.bookall-title p{
	font-size: 24px;
	line-height: 36px;
	text-align: center;
	color: rgb(100, 100, 100);
}

.bookall-area{
	margin: 1.25% 0 1.25% 0;
	margin: 0 auto;
	text-align: center;
	display: flex;
	flex-wrap: wrap;
}
.bookall a{
	margin: 1.25% 2.5%;
	width: 20%;
	text-decoration: none;
	text-overflow: -o-ellipsis-lastline;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.bookall img{
	width: 100%;
	display: block;
}

.bookall-area p{
	padding-top: 15px;
	font-size: 16px;
	line-height: 24px;
	color: rgb(100, 100, 100);
	text-align: left;
}

.tab, .tab a,.bookall a, .bookall img, .bookall p, .top{
	transition: 0.25s linear;
}

.bookall a:hover{
	transform: translateY(-15px);
}

.bookall a:hover p{
	color: rgb(2, 122, 76);
}

footer{
	margin-top: 5%;
	padding: 20px 0;
	font-size: 16px;
	line-height: 24px;
	color: rgb(100, 100, 100);
	background-color: rgb(235, 235, 235);
	text-align: center;
}

.tab-fixed{
	position: fixed;
	top: 0;
	right: 0;
	bottom: none;
	left: 0;
	z-index: 9999;
}

.tab-relative{
	position: relative;
	top: none;
}

.top:hover{
	width: 150px;
}

@media only screen and (max-width: 1240px) {
	.tab a{
		font-size: 18px;
	}
}

@media only screen and (max-width: 768px) {
	.guide p{
		font-size: 16px;
		line-height: 24px;
	}
	.tab a{
		font-size: 16px;
		line-height: 24px;
	}
	.bookall-title h2{
		font-size: 24px;
		line-height: 36px;
	}
	.bookall-title p{
		font-size: 16px;
		line-height: 24px;
	}
}

@media only screen and (max-width: 480px) {
	header a{
		display: block;
		text-align: center;
	}
	.banner-l{
		display: none;
	}
	.banner-m{
		display: block;
	}
	.content-layout{
		width: 90%;
	}
	.guide{
		padding: 5% 0;
	}
	.guide p{
		text-align: left;
	}
	.tab-area a{
		padding: 16px 0;
	}
	.bookall a{
		width: 45%;
		margin-top: 5%;
		margin-bottom: 5%;
	}
}